django启动出错

时间:2017-10-05 13:01:59

标签: python django pycharm

我正在使用项目工作。 每当我做“运行”的事情,我会去我的主页或“http://127.0.0.1:8000/ ...” 一切正常,但我收到了这个错误:

  

C:\用户\ elmou \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\ importlib__init __ PY:126:   RemovedInDjango110Warning:django.core.context_processors是   不赞成使用django.template.context_processors。返回   _bootstrap._gcd_import(name [level:],package,level)

我应该更改django版本还是什么? 感谢。

settings.py文件:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.core.context_processors.request',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

3 个答案:

答案 0 :(得分:1)

  1. 这不是错误,而是警告。
  2. 它表示在下一个django版本中某些功能不可用(已弃用),因此您应该记住,如果您计划升级。 就是这样。

答案 1 :(得分:1)

警告建议您更新设置中的上下文处理器,以使用django.template.context_processors代替django.core.context_processors

在您的情况下,导致警告的是request处理器(第一项)。您已在列表中添加新路径django.template.context_processors.request,因此只需删除django.core.context_processors.request即可。您的上下文处理器将是:

'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
],

如果您需要更具体的指示,请编辑您的问题以包含您的设置文件中的上下文处理器列表。

答案 2 :(得分:0)

我认为Context处理器曾经在早期版本的django中的settings.py中以自己的元组排列列出,但是这已被更改并最终在Dango 1.10中弃用,因此删除了RemovedInDjango110Warning。

现在,您应该将您的上下文处理器列为settings.py文件的Templates设置中的选项。看起来有点像这样的东西:

TEMPLATES = [
    {
         'BACKEND': '.......',
         'DIRS': '........',

         'OPTIONS':{
             'context_processors': [
                 'django.template.context_processors.debug',
                 'django.template.context_processors.request', 
                 ...
                 ...
                 ...
             ] 
         },
     },
]  

更高版本中的startproject命令实际上应该为您设置。