我正在阅读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时它仍然显示我的默认模板标题。
有人能告诉我我错过了什么吗?
答案 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)
我明白了。问题出在我的网站名称中的单引号。因此,必须将整个网站名称用双引号括起来,而不是一个