我一直在学习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 即可。但我不确定。 我怎么处理呢?
答案 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