Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';WSGIRequest&x27;对象没有属性';会议';从django 1.3升级到1.9_Python_Django_Django Middleware - Fatal编程技术网

Python ';WSGIRequest&x27;对象没有属性';会议';从django 1.3升级到1.9

Python ';WSGIRequest&x27;对象没有属性';会议';从django 1.3升级到1.9,python,django,django-middleware,Python,Django,Django Middleware,类似于这个问题 但是我的中间件类的顺序是正确的 已安装的应用程序=[ “django.contrib.sessions”, “django.contrib.admin”, “django.contrib.auth”, “django.contrib.contenttypes”, “django.contrib.messages”, “django.contrib.staticfiles”, "会籍",, “树羚”, “干草堆”, “回归”, ] 中间件=[ “django.contrib.ses

类似于这个问题

但是我的中间件类的顺序是正确的

已安装的应用程序=[
“django.contrib.sessions”,
“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
"会籍",,
“树羚”,
“干草堆”,
“回归”,
]
中间件=[
“django.contrib.sessions.middleware.SessionMiddleware”,
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
]
我正在重定向到登录

url(r'^$',重定向视图.as_视图(url='login/),
url(r“^login/$”、“membership.views.loginView”、name='login'),
然后

def loginView(请求):
a=请求。会话

抛出错误

中间件
是1.10中的一个新设置,它将替换旧的
中间件类

由于您当前使用的是1.9,Django无法识别
中间件设置。您应该使用
中间件\u类
设置:

MIDDLEWARE_CLASSES = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Django 2.0

您可以在settings.py、MIDDLEWARE_CLASSES=[…]中尝试此操作:

  • 中间件\u类=[…]更改为中间件=[…]

  • 从MIDDLEWARE=[…]列表中删除SessionAuthenticationMiddleware

Django 1.10中不推荐使用中间件_类设置,并且 在Django 2.0中删除

已删除SessionAuthenticationMiddleware类。它没有提供任何信息 无条件启用会话身份验证后的功能 在Django 1.10中


检查中间件的顺序,如果您试图在会话中间件上方列出的某些中间件上访问它,则会出现此错误。

当您输入错误时,也会抛出此错误。i、 e

request.sesion ... 
而不是

request.session ... 

Django 2.0现在使用
中间件
,而不是@Slipstream指出的
中间件类
,当我读到您可能的解决方案时,我笑了!然后我检查了一下,我做了完全相同的打字。现在我哭着笑着