0

我正在阅读 Django 的教程 - https://docs.djangoproject.com/en/1.3/intro/tutorial02/ 最后他们要求我们将默认网页模板的名称从“Django Administration”更改为其他任何名称以下步骤。1) 将 django 默认文件夹中的 base_site.html 复制到 TEMPLATE_DIRS 中指定的管理目录。目前我的 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

所以结构类似于 /home/mysite/polls/mytemplates/admin 其中 admin 文件夹包含 base.html 和 base_site.html

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

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

4

2 回答 2

1

您的模板目录中不应包含您的应用程序名称。Django 将自动添加任何名为templates的目录,该目录属于INSTALLED_APPS. 这就是您的自定义管理模板不起作用的原因。

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

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'>
于 2013-05-16T09:09:52.387 回答
1

我想到了。问题在于我的网站名称中的单引号。所以必须用双引号而不是一个引号将整个站点名称括起来

于 2013-05-19T02:59:55.490 回答