django2中的TEMPLATE_CONTEXT_PROCESSORS等于多少

时间:2018-08-03 11:57:13

标签: python django

您好,我正在将项目从Django 1.9.12迁移到Django2.0 我还没有写出来,它是在我们的企业中不再起作用的同事留下的

安装Django2之后

from django.conf.global_settings import  TEMPLATE_CONTEXT_PROCCESSORS

返回错误

ImportError: cannot import name 'TEMPLATE_CONTEXT_PROCESSORS'

django2中的TEMPLATE_CONTEXT_PROCCESSORS等价物

2 个答案:

答案 0 :(得分:2)

从您的设置中删除此行:

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS

TEMPLATE_CONTEXT_PROCESSORS

在Django 1.8中已弃用,在Django 1.10中已删除。无法再导入它。

您已经在context_processors设置中定义了TEMPLATES,因此您不再需要TEMPLATE_CONTEXT_PROCESSORS

答案 1 :(得分:1)

中已将其删除,就像release notes指定的那样:

  

以下设置已删除,您必须升级到   TEMPLATES 设置:

ALLOWED_INCLUDE_ROOTS
TEMPLATE_CONTEXT_PROCESSORS
TEMPLATE_DEBUG
TEMPLATE_DIRS
TEMPLATE_LOADERS
TEMPLATE_STRING_IF_INVALID

因此,它们位于TEMPLATES下的OPTIONS设置中,然后位于context_processors下。由于可以有多个 TEMPLATES,因此可以有多个这样的模板。 TEMPLATES中的global_settings是一个列表:

>>> from django.conf.global_settings import  TEMPLATES
>>> TEMPLATES
[]