【发布时间】:2011-09-28 20:36:21
【问题描述】:
如何在扩展管理模板(例如 admin/index.html)的同时对其进行扩展(参见 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template)?
首先 - 我知道这个问题之前已经被问过并回答过(参见Django: Overriding AND extending an app template),但正如答案所说,如果您使用的是 app_directories 模板加载器(大多数情况下),它并不直接适用.
我目前的解决方法是制作副本并从它们扩展,而不是直接从管理模板扩展。这很好用,但是当管理模板更改时,它真的很混乱并且增加了额外的工作。
它可以为模板考虑一些自定义扩展标签,但如果已经存在解决方案,我不想重新发明轮子。
附带说明:有人知道这个问题是否会由 Django 自己解决吗?
【问题讨论】:
-
复制管理模板、扩展它们并覆盖/添加块是最有效的,尽管考虑到 Django 的当前状态,这不是最佳的工作流程。在三年的工作中,我还没有看到任何其他方法可以做你想做的事情:)
-
嗯 - 我不知道这是否是一件好事,但至少像你这样的人得出了同样的结论。听起来还不错。 :)
标签: python django django-admin