我在读 http://www.djangobook.com/en/2.0/chapter04.html 以下是Django 1.4,但我使用django 1.6,因此如何将django 1.6中的模板目录设置为设置。提前致谢。

有帮助吗?

解决方案

添加到settings.py

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

其他提示

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

添加到 settings.py. 。在Django 1.6中 BASE_DIR 被定义为。否则定义 BASE_DIR 作为

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

根据Django教程,您应该添加TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]给你 settings.py 文件(所以这是一个 list 不是 tuple)

它应该是

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

或者您可能会看到这样的错误:

弃用:template_dirs设置必须是元组。请修复您的设置,因为自动校正现在已弃用。
self._wrapped = settings(settings_module)

对于django> = 1.6是一个 tuple

使用以下给定代码段。将其粘贴到最后一个设置.py文件中。

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

这里 BASE_DIR 表示您的项目目录,而不是设置所在的内部目录。创建一个名为“模板”(无引号)的目录 BASE_DIR 并将模板存储在该目录中。 Django将将模板目录加入到 BASE_DIR 使用 os.path.join() 功能。希望这可以帮助。

我发布的 https://stackoverflow.com/a/40145444/6333418 您必须将其添加到模板下的设置中的DIR列表中。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['[project name]/templates'], # Replace with your project name
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top