您好,我正在将项目从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
等价物
答案 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)
在django-1.10中已将其删除,就像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
[]