【问题标题】:Where do I put my django Template Context Processor setting in Django 1.10我在哪里把我的 Django 模板上下文处理器设置放在 Django 1.10 中
【发布时间】:2016-11-21 23:18:47
【问题描述】:

我正在尝试将旧项目从 Django 1.6 迁移到 1.10。

我已阅读文档,但我仍然无法理解如何在我的 settings.py 中处理模板

在我以前的设置中:

TEMPLATE_CONTEXT_PROCESSORS = [
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.core.context_processors.request",
    "django.contrib.messages.context_processors.messages",

]

如何将其迁移到 1.10?我可以将其添加到以下内容吗?

TEMPLATES = [{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(PACKAGE_ROOT, 'templates')],
}]

目前,当我在 1.10 中运行 Django 项目时,我收到一条错误消息,提示 TEMPLATE_* 设置在 Django 1.8 中已弃用

【问题讨论】:

  • Django 文档涵盖upgrading templates to Django 1.8。您可能会发现先升级到 Django 1.8(可能通过 Django 1.7)比直接跳到 Django 1.10 更容易。这将使您有机会在 1.8 中修复弃用警告,而不是在 Django 1.10 中出现错误。

标签: python django


【解决方案1】:

现在您的模板选项应如下所示:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
                        os.path.join(BASE_DIR, 'templates'),
                ],
        'APP_DIRS': True,
        'OPTIONS': {
            'debug': DEBUG,
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

【讨论】:

    猜你喜欢
    • 2013-03-05
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2022-10-05
    • 2011-12-13
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多