首页 文章

django启动出错

提问于
浏览
0

我正在pycharm工作,有一个django项目 . 每当我做"run"的事情,我去我的主页或“http://127.0.0.1:8000/ ..”一切正常,但我得到这个错误:

C:\ Users \ elmou \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ importlib__init __ . py:126:RemovedInDjango110Warning:不推荐使用django.core.context_processors,而选择django.template.context_processors . return _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 回答

  • 1
    • 这不是错误,而是警告 .

    • 它说下一个django版本中有些功能不可用(不推荐使用),所以你应该记住,如果你打算升级 . 而已 .

  • 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',
    ],
    

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

  • 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命令实际上应该为您设置它 .

相关问题