python - 对于我,枚举中的中间件(settings.MIDDLEWARE):TypeError:'NoneType'对象不可迭代
问题描述
当我尝试运行时出现此错误
python manage.py runserver
或命令行中的任何其他 python manage.py * 命令。
但是当我尝试 python manage.py shell 时,它没有错误地连接并从数据库中获取数据。
错误:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7fa03b7386a8>
Traceback (most recent call last):
File "/home/tornike/apps/env/lib/python3.6/site-packages/django/utils/autoreload.py", line 227, in wrapper
fn(*args, **kwargs)
File "/home/tornike/apps/env/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run
self.check(display_num_errors=True)
File "/home/tornike/apps/env/lib/python3.6/site-packages/django/core/management/base.py", line 359, in check
include_deployment_checks=include_deployment_checks,
File "/home/tornike/apps/env/lib/python3.6/site-packages/django/core/management/base.py", line 346, in _run_checks
return checks.run_checks(**kwargs)
File "/home/tornike/apps/env/lib/python3.6/site-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/home/tornike/apps/env/lib/python3.6/site-packages/debug_toolbar/apps.py", line 25, in check_middleware
for i, middleware in enumerate(settings.MIDDLEWARE):
TypeError: 'NoneType' object is not iterable
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware'
)
解决方案
错误清除表明 settings.MIDDLEWARE 为 None 但您已发布从 Django 2.0 中删除的 MIDDLEWARE_CLASSES。如果 django 的版本 >=2.0,请确保在 settings.py 中使用 MIDDLEWARE。
推荐阅读
- reactjs - 当我单击使用 Google 登录按钮时,没有任何反应
- php - 在此服务器上找不到请求的 URL。- php,wordpress
- twilio - Twilio CLI 设置;在自动完成中:什么是“将自动完成 env var 添加到您的 bash 配置文件并获取它”?
- c++ - C++ Nodejs插件数据库连接
- pandas - 如何在 Pandas 中为多列添加标题行
- tomcat - Tomcat 在调用应用程序到应用程序时发送错误请求(状态代码 400)
- javascript - 如何根据对象数组中字段的最大值限制 HTML 列元素
- c# - 将 varchar 转换为 int mvc C# 时转换失败
- php - 从 MySQL、PHP 获取随机结果
- ios - Xcode - 工具栏或视图未显示在顶部附近