管理员模板覆盖忽略的标题栏

Posted

技术标签:

【中文标题】管理员模板覆盖忽略的标题栏【英文标题】:Admin template override ignored title block 【发布时间】:2011-12-20 21:14:32 【问题描述】:

/project_dir/templates/admin/base_site.html 中创建自定义版本的 base_site.html 时,标题栏不会被覆盖。正在呈现正确的模板,但是即使按如下方式设置块,页面上的标题/品牌块也不会更改。我有预感这个问题与 django_admin_tools 有关,但目前还不确定。

% block title %Super Awesome new admin title% endblock %

% block branding %
    <h1 id="site-name">Super Awesome new admin branding</h1>
% endblock %

编辑:

项目和 python 库中% block branding % 的 grep 结果在 4 个位置找到它

$ grep -r "% block branding %" /path/to/
/path/to/virtualenv/lib/python2.7/site-packages/admin_tools/theming/templates/admin/base.html:        % block branding %% endblock %
/path/to/virtualenv/lib/python2.7/site-packages/admin_tools/menu/templates/admin/base_site.html:% block branding %
/path/to/virtualenv/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/contrib/admin/templates/admin/base.html:        % block branding %% endblock %
/path/to/virtualenv/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/contrib/admin/templates/admin/base_site.html:% block branding %
/path/to/project/templates/admin/base.html:        % block branding %% endblock %
/path/to/project/templates/admin/base_site.html:% block branding %

在项目 base_site.html 中,我将 % load i18n admin_tools_menu_tags % 更改为 % load i18nn admin_tools_menu_tags % 之类的错误(将 n 添加到 i18n)并收到错误,因此我知道至少正确选择了模板。

关于什么会导致我的块在其他地方被忽略或覆盖的任何建议?如上所示,我看不出还有什么地方可以覆盖它们。

谢谢。

【问题讨论】:

我认为更多信息会有所帮助。您是说在 /project_dir/templates/admin/ 中编辑 base.html 不起作用吗?也许在设置中提供您的结构 templates_dir。您正在编辑的内容和尝试编辑的内容(是否与行政区域有关)?在这一点上,它可能是几件事。 在找到更多信息后,我已经大大更新了这个问题。我把它留在这里,因为它仍然是一个问题,但现在我开始觉得我越来越接近解决方案了,因为我知道它与两个没有发生的块有关。 【参考方案1】:

Django 管理工具使用照片来标记管理员....而不是标记块。

【讨论】:

以上是关于管理员模板覆盖忽略的标题栏的主要内容,如果未能解决你的问题,请参考以下文章

Django:当它们已经被覆盖时不能覆盖管理模板?

覆盖管理模板时出现 TemplateSyntaxError

覆盖部署到 Google App Engine 的 Django 应用中的模板

未覆盖管理模板上的阻止内容

Django:覆盖每个应用程序而不是每个项目的“不可覆盖”管理模板?

django:我如何实际覆盖管理站点模板