在app中覆盖模型的admin字段集

时间:2018-02-21 11:39:10

标签: django

Django admin docs声明您可以通过将模板放在应用程序的my_app/my_model文件夹的templates/admin子目录中来覆盖特定应用中特定模型的模板。

我正在尝试在my_app中覆盖my_model的includes/fieldset.html模板。将其保存为my_app/admin/my_app/my_model/includes/fieldset.html似乎不起作用,而my_app/admin/includes/fieldset.html则可以,但会覆盖管理网站中所有网页的模板。

有没有办法实现这种行为?

1 个答案:

答案 0 :(得分:2)

是的,行为是正确的,因为并非每个模板都会使用此方法覆盖每个应用或模型,please read this

允许的模板是:

  1. app_index.html
  2. change_form.html
  3. change_list.html
  4. delete_confirmation.html
  5. object_history.html
  6. popup_response.html
  7. 所以我所做的就是覆盖所有这些应用程序和模型,或者添加到admin.py类change_form_template = 'admin/appname/customtemplate.html'中,这将使您可以完全控制模板。您还可以/还需要使用内部包含更改所有内部模板。