无法更改默认的django模板

时间:2013-05-16 08:53:23

标签: django django-templates

我正在阅读Django的教程 - https://docs.djangoproject.com/en/1.3/intro/tutorial02/ 最后,他们要求我们通过以下步骤将默认网页模板的名称从“Django Administration”更改为其他任何内容。 1)将base_site.html从django的默认文件夹复制到TEMPLATE_DIRS中指定的admin目录。 目前我的TEMPLATE_DIRS看起来像 -

TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
"/home/mysite/polls/mytemplates"
)

我还将管理模板目录复制到/ home / mysite / polls / mytemplates

所以结构是这样的  /家庭/ mysite的/调查/ mytemplates /管理 其中admin文件夹包含base.html和base_site.html

我已经在base_site.html文件中编辑了标题但是当我运行django时它仍然显示我的默认模板标题。

有人能告诉我我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您的模板目录中不应包含您的应用程序名称。 Django将自动添加名为templates的任何目录,该目录是INSTALLED_APPS中列出的任何应用程序的一部分。这就是您的自定义管理模板无效的原因。

您应该做的第一件事是将/home/mysite/polls/mytemplates重命名为templates

mv /home/mysite/polls/mytemplates /home/mysite/polls/templates

接下来,您应该:

TEMPLATE_DIRS = ('/home/mysite/templates',)

然后,您的管理模板应位于/home/mysite/templates/admin/

至于逗号:括号中的单个字符串只是一个字符串,但是用逗号它就成了一个元组。 TEMPLATE_DIRS设置是一个元组,这就是为什么你需要额外的逗号:

>>> a = ('hello')
>>> type(a)
<type 'str'>
>>> a = ('hello',)
>>> type(a)
<type 'tuple'>

答案 1 :(得分:1)

我明白了。问题出在我的网站名称中的单引号。因此,必须将整个网站名称用双引号括起来,而不是一个