在Django中,如何在settings.py中包含我使用名为base.html的基本文件创建的模板文件夹?

时间:2017-05-16 22:04:33

标签: python django python-2.7

我一直在学习Django一周,但我不确定如何在settings.py文件中包含我用base.html基础文件创建的模板文件夹。 为此,我更改了代码末尾的settings.py文件,如下所示。

TEMPLATE_DIRS = (
    BASE_DIR + '/templates/'
)
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader',
)

在settings.py文件中,已经 TEMPLATES 如下所示。

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    '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',
        ],
    },
},]

当我运行 python manage.py runserver 时,会发生异常。

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
...
File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line 108, in __init__
    "Please fix your settings." % setting)
django.core.exceptions.ImproperlyConfigured: The TEMPLATE_DIRS setting must be a tuple. Please fix your settings.

我认为 TEMPLATES 包括 TEMPLATE_DIRS &amp;的 TEMPLATE_LOADERS 即可。但我不确定。 我怎么处理呢?

1 个答案:

答案 0 :(得分:2)

文档建议将模板目录放在TEMPLATES DIRS

fun<std::string, void>(static_cast<std::string>(s));

您还应该使用TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ BASE_DIR + '/templates/' ], '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', ], }, },] 来获取模板路径。

https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-TEMPLATES