【问题标题】:Error with django startingdjango 启动出错
【发布时间】:2017-10-05 22:35:45
【问题描述】:

我正在处理,有一个 项目。 每当我做“运行”的事情时,我都会去我的主页或任何地方“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。返回 _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',
            ],
        },
    },
]

【问题讨论】:

  • 请提供 Django 版本号。建议使用最新的稳定版本。可能您正在运行一个示例,该示例使用的代码适用于 1.10 之前的版本,当前稳定版是 1.11 LTS
  • django 版本 1.9.4
  • 您只需要发布您的TEMPLATES 设置即可显示您的上下文处理器。正如警告所说,你不应该公开发布你的SECRET_KEY。你现在应该改变它。

标签: pycharm django python django pycharm


【解决方案1】:
  1. 这不是错误,而是警告。
  2. 它表示某些功能在下一个 django 版本中不可用(已弃用),因此如果您打算升级,请记住这一点。 就是这样。

【讨论】:

【解决方案2】:

警告建议您在设置中更新上下文处理器以使用 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',
],

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

【讨论】:

  • 我添加了设置文件
【解决方案3】:

我认为在早期版本的 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 命令实际上应该为您设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 2017-07-25
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多