我的表格看起来像这样:
class MarketingActionForm(forms.ModelForm):
contact = ManyToManyByLetter(Contact, field_name="first_name")
#contact = AjaxManyToManyField(Contact, DICT_LOOKUP)
class Meta:
model = MarketingAction
exclude = ('created_by',)
class Media:
js = (
settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js",
settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js",
settings.MEDIA_URL + "js/jquery.js",
settings.MEDIA_URL + "js/ajax_filtered_fields.js",
)
我处理此表单以查看模板。现在我想知道为什么Media类没有在模板中自动处理,至少它没有显示在.html输出中。
因此,我想问一下我必须做什么,以便媒体定义显示在.html输出中。
我没有在django .docs中找到它。因此我认为它会自动处理。
答案 0 :(得分:8)
您需要自己在模板中添加{{form.media}}
。不会自动插入对表单媒体的引用。
这很难做到,因为模板设计师会输入包含<head>
部分的整个html文档,如果要尝试自动执行,django必须猜测插入链接的位置(如果javascript媒体正确猜测,那将是特别难的 - 如果脚本之间存在依赖关系)
答案 1 :(得分:0)
我相信Media类在admin中使用,类是admin.ModelAdmin
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-media-definitions