'CsrfViewMiddleware' 对象不可迭代

'CsrfViewMiddleware' object is not iterable

我是 Django 的新手,我刚刚从另一个开发人员手中接过这个项目。到目前为止,我所做的只是从 git 克隆代码并安装依赖项。

设置项目后,运行 python manager.py runserver 并转到 localhost:8000/admin 我收到一条错误消息,指出 TypeError at /admin/login/'CsrfViewMiddleware' object is not iterable:

Traceback:

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner 39. response = get_response(request)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response 249. response = self._get_response(request)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 217. response = self.process_exception_by_middleware(e, request)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 215. response = response.render()

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/template/response.py" in render 109. self.content = self.rendered_content

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/template/response.py" in rendered_content 86. content = template.render(context, self._request)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/template/backends/django.py" in render 66. return self.template.render(context)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/template/base.py" in render 206. with context.bind_template(self):

File "/usr/lib/python3.5/contextlib.py" in __enter__ 59. return next(self.gen)

File "/home/abhay/code/virtualenvironments/leaguesx/lib/python3.5/site-packages/django/template/context.py" in bind_template 236. updates.update(processor(self.request))

Exception Type: TypeError at /admin/login/

Exception Value: 'CsrfViewMiddleware' object is not iterable

我会 post 从源代码中获取代码,但我无法确定导致此问题的原因可能在源代码中的何处。

我的settings.py:

import os
from datetime import datetime
from django.conf.global_settings import EMAIL_USE_SSL
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'ourapp',
    'social.apps.django_app.default',
    'sendgrid',
    'corsheaders',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    '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',
    'ourapp.middleWare.authenticationMiddleware.AuthenticationMiddleware'
)

ROOT_URLCONF = ''

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
        'django.middleware.csrf.CsrfViewMiddleware',
        'corsheaders.middleware.CorsMiddleware',
                'social.apps.django_app.context_processors.backends',
                'social.apps.django_app.context_processors.login_redirect',
            ],
        },
    },
]

(抱歉缺少缩进。) 任何关于如何从这里开始的想法将不胜感激!

尝试从 TEMPLATES 中删除 'django.middleware.csrf.CsrfViewMiddleware',。也可能'corsheaders.middleware.CorsMiddleware',