请原谅我对Django的天真。
我想创建自己的方法,就像我的自定义管理页面的prepopulated_fields一样。基本上,当你将图像的url放在一个字段中时,我想通过javascript填充另一个带有图像名称,高度和宽度的字段。
最好的方法是什么?只需覆盖change_form.html并包含我自己的JS库?编写自定义小部件?
答案 0 :(得分: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)
祝你好运!