Django 自定义项目模板

Posted

技术标签:

【中文标题】Django 自定义项目模板【英文标题】:Django customise project template 【发布时间】:2015-12-01 21:13:39 【问题描述】:

我正在编写您的第一个应用程序,第 2 部分由 Django Documentation 编写,目前陷入自定义项目模板

我已将 template admin/base_site.html 从默认的 Django 管理模板目录复制到 mysite/templates/admin,并制作项目文件中对 base_site.html 的更改。

但有警告消息未显示投票管理

?: (1_8.W001) 独立的 TEMPLATE_* 设置在 Django 1.8 和 TEMPLATES 字典优先。你必须把 将以下设置的值放入您的默认 TEMPLATES 字典中: TEMPLATE_DIRS。

settings.py 的代码

TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]

base_site.html 的代码

% extends "admin/base.html" %

% block title % title  |  site_title|default:_('Django site admin') % endblock %

% block branding %
<h1 id="site-name"><a href="% url 'admin:index' %">Polls Administration</a></h1>
% endblock %

% block nav-global %% endblock %

我已在github repo 发帖以供进一步参考。

【问题讨论】:

问题是? @e4c5 我很抱歉错过了它。我已经添加了。这是因为给出了警告,并且没有显示民意调查管理。 我编写了引发该弃用警告的代码。你能告诉我不清楚的地方吗?它很清楚地告诉你,你把设置放在了错误的地方,以及放在哪里。如果你能说出你不明白的地方,我会努力改进它。 @DanielRoseman 感谢您的回复。 default TEMPLATES dict: TEMPLATE_DIRS 我不清楚。可能是因为世界 TEMPLATE_DIRS。如果您将直接键放在代码中 DIRS 可能会更准确。 【参考方案1】:

您在阅读 Django 1.7 教程时似乎正在使用 Django 1.8。 1.8 教程是here 折旧警告无论如何都不是什么可担心的。您的管理模板似乎不在正确的位置。

当覆盖模板时, Django Debug Toolbar 很有用,因为它准确地显示了正在使用的模板。但是,这不是必需的。

【讨论】:

以上是关于Django 自定义项目模板的主要内容,如果未能解决你的问题,请参考以下文章

Django自定义模板函数

Django - 自定义 403 模板

Django Admin:向模板页面添加自定义字段

Django之Django模板自定义过滤器

Django auth:在哪里放置自定义模板?

Django入门--自定义过滤器与标签