Django:使用HTML扩展管理员更改表单中某个字段的正确方法?

时间:2010-07-15 11:03:46

标签: django django-admin

假设我有一个基于ImageField类的字段的模型。

class Foo(models.Model):
    imagefile = models.ImageField('File', upload_to='foo/%Y/%m%/%d/')

Django在首次上传后添加了一个类型为file的输入标记,让我可以更改它以及指向图像的链接来查看它。

我想要原始字段特定(HTML)代码(并且绝不是手动创建它),而是添加其他HTML / JS代码,比如包括缩略图预览或添加一些AJAX内容。我也可以为其他领域想象一些其他用例。

实现类似的东西的正确方法(比方说:简单/不显眼)是什么?

1 个答案:

答案 0 :(得分:2)

您需要编写自定义小部件。查看django.forms.widgets以获取现有FileInput窗口小部件的代码,您可以在必要时将其子类化并覆盖render方法。然后,您只需要在管理表单中为您的文件字段分配该窗口小部件。