Django 预填充字段像方法一样
请原谅我对Django的无知。
我想创建一个自己的方法,功能类似于Django中预填充字段的功能,用在我的自定义管理页面上。简单来说,就是当你在一个字段里输入图片的URL时,我希望通过JavaScript自动填充另一个字段,内容包括图片的名称、高度和宽度。
这样做的最佳方法是什么呢?是直接覆盖change_form.html文件,然后加入我自己的JavaScript库?还是写一个自定义的控件?
1 个回答
0
如果你想显示图片的属性,使用Javascript可能是个不错的选择。
可以参考这个链接:Javascript - 获取图片高度,里面有相关的例子。
如果你不需要在表单中显示这些属性,而只是想填充一些数据,通常建议在模型层面上处理,比如:
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)
祝你好运!