我已经学习 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和TEMPLATE_LOADERS。但我不确定。 我该如何处理?
最佳答案
文档建议将模板目录放置在 TEMPLATES DIRS 中
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',
],
},
},]
您还应该使用os.path.join(BASE_DIR, 'templates')
获取您的模板路径。
https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-TEMPLATES
关于python - 在 Django 中,如何在 settings.py 上包含我使用名为 base.html 的基本文件创建的模板文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44012366/