У меня есть форма, бывшая похожая на это:
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",
)
Я обрабатываю эту форму в целях шаблона. Теперь я задаюсь вопросом, почему класс Медиа автоматически не обрабатывается в шаблоне, по крайней мере, он не обнаруживается в выводе .html.
Поэтому я хочу спросить, что я должен сделать, чтобы определения медиа обнаружились в выводе .html.
Я не нашел его в django .docs. Поэтому я думал, что это будет обработано автоматически.
Вам необходимо самостоятельно добавить {{{form.media}}
в шаблон. Ссылки на носители формы не вставляются автоматически.
Это будет очень сложно сделать, так как весь html-документ, включая раздел , должен быть набран дизайнером шаблона, и django должен будет угадать, куда вставлять ссылки, если он попытается сделать это автоматически (это будет особенно сложно правильно угадать для javascript носителей - если есть зависимости между скриптами)
Я полагаю, что в админе используется класс Media, по классам которого admin.ModelAdmin
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-media-definitions