Override admin fieldset for model in app
Django admin docs声明您可以通过将模板放在应用程序templates/admin文件夹的my_app/my_model子目录中来覆盖特定应用程序中特定模型的模板。
我正在尝试为my_app中的my_model覆盖includes/fieldset.html模板。将其保存为my_app/admin/my_app/my_model/includes/fieldset.html似乎无效,而my_app/admin/includes/fieldset.html却可行,但会覆盖管理站点中所有页面的模板。
有什么办法可以实现这种行为?
- "似乎不起作用"不是问题说明。.请确认您已按照开始的链接中的每个步骤进行操作(注意,它表示项目的templates目录)。您的settings.TEMPLATE是什么?
-
我确定模板设置正确-从应用程序模板目录的根目录加载模板是可行的。 TEMPLATE include APP_DIRS:真,my_app包含在django.contrib.admin以上的INSTALLED_APPS中
-
您应该编辑问题以填写其他信息,而不要将其隐藏在评论中。
是的,此行为是正确的,因为并非每个模板或应用都使用此方法来覆盖每个模板,请阅读此内容。
允许的模板为:
app_index.html
change_form.html
change_list.html
delete_confirmation.html
object_history.html
popup_response.html
因此,我要做的是针对每个应用程序和模型重写所有这些内容,或者将其添加到admin.py类change_form_template = 'admin/appname/customtemplate.html'中,这将使您完全掌控模板。您还可以使用内部包含项来更改所有内部模板。