首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只对一个图像应用程序使用修改后的管理模板

问只对一个图像应用程序使用修改后的管理模板
EN

Stack Overflow用户
提问于 2020-05-28 17:09:51
回答 1查看 67关注 0票数 1

Django 3.0.6

对于一个模型,我需要一个修改的管理网站模板。

也就是说,我想修改这个模板:

代码语言:javascript
复制
admin/includes/fieldset.html

我从Django包目录复制了fieldset.html,并将其放置如下:

代码语言:javascript
复制
/my_project/image/templates/admin/includes/fieldset.html

这里图像是我的应用程序。正是这个应用程序需要修改管理模板。

问题是,所有其他模型也得到了这个模板。使用过的模板过滤器不会接收到必要的仿射和爆炸。

文档:https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#set-up-your-projects-admin-template-directories

我搞糊涂了,也没能组织出必要的目录结构。

如何只为一个图像应用程序使用修改过的模板?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-28 17:40:55

你有一些问题。首先,只有以下模板可以在每个应用程序或每个模型下重写

  • actions.html
  • app_index.html
  • change_form.html
  • change_form_object_tools.html
  • change_list.html
  • change_list_object_tools.html
  • change_list_results.html
  • date_hierarchy.html
  • delete_confirmation.html
  • object_history.html
  • pagination.html
  • popup_response.html
  • prepopulated_fields_js.html
  • search_form.html
  • submit_line.html

fieldset.html不在其中,因此您需要查看包含的模板是否在此列表中,如果是,则替换该模板并使用它包含您自己的fieldset.html版本。

另外,您的位置(由于不能覆盖每个应用程序包含的模板):/my_project/image/templates/admin/template.html是不完全正确的。这将覆盖每个应用程序的模板。若要按每个应用程序执行此操作,您需要在admin下再创建一个子目录:

代码语言:javascript
复制
/my_project/image/templates/admin/image/template.html

这样做的原因是,模板并不真正关心它们在哪个应用程序中,因此模板驻留在您的image应用程序中这一事实对Django来说并不意味着什么,将它们放在应用程序的子目录中的惯例仅仅是避免覆盖您不打算覆盖的模板。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62070528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档