2011-08-12 4 views
0

Django로 내 취향을 용서하십시오.Django prepopulated_fields like method

사용자 정의 관리 페이지의 prepopulated_fields와 매우 유사하게 작동하는 고유 한 메소드를 만들고 싶습니다. 기본적으로 한 필드에 이미지의 URL을 넣을 때 자바 스크립트를 통해 이미지의 이름, 높이 및 너비로 다른 필드를 채우고 싶습니다.

최상의 접근 방법은 무엇입니까? change_form.html을 무시하고 내 JS 라이브러리를 포함 시키시겠습니까? 맞춤 위젯을 작성 하시겠습니까?

답변

0

어떤 이유에서든 이미지의 속성을 표시하려면 Javascript를 사용하는 것이 좋습니다.

예를 들어 Javascript - Get Image height을 참조하십시오.

이 양식 수준에서 보여 할 필요는 없습니다하지만 단순히 일반적으로 모델 수준에서이 작업을 수행하는 것을 선호 채울 경우, 같은

from PIL import Image 
import StringIO 
import urllib2 

class MyModel(models.Model): 
    # ... fields 1,2,3 etc, and assuming the url field is called image_url 

    def pre_save(): 
     # obtain attributes of image from url field 
     # save it to various fields 
     img = urllib2.urlopen(self.image_url).read() 
     im = Image.open(StringIO.StringIO(img)) 
     self.image_width, self.image_height = im.size 

    def save(self, *args, **kwargs): 
     self.pre_save() 
     super(MyModel, self).save(*args, **kwargs) 

행운을 빕니다!

+0

굉장합니다. 그것은 나에게 좋은 생각을 준다. UI에 그것을 채울 필요가 없습니다. 서버 쪽이 훨씬 쉽습니다. 감사! – Jiyosub