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

标签 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_DIRSTEMPLATE_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/

相关文章:

python删除字典中的重复值并更改键

python - 用 Beautiful soup 抓取内部链接

Django 命名 URL 和 HTTPS/SSL

python - Pygame:两个图像的碰撞

python - 快速 python 前端列表扩展

python - 强制额外的列显示在 pandas 数据透视表中?

python - 列出模板内的ForeignKey关联实例(查询集中的查询集)

python - Django 中从 sqlite 迁移到 postgresql

python - 如何在Python爬虫中访问多页面表单的发布数据

python-2.7 - 如何快速检查一个对象是否在Python列表中