この質問と同様 'WSGIRequest'オブジェクトには属性 'session'がありません
しかし、私のMIDDLEWAREクラスは正しい順序です。
INSTALLED_APPS = [
'Django.contrib.sessions',
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'membership',
'treebeard',
'haystack',
'reversion',
]
MIDDLEWARE = [
'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',
]
ログインにリダイレクトしています
url(r'^$', RedirectView.as_view(url='login/')),
url(r'^login/$', 'membership.views.loginView', name='login'),
その後
def loginView(request):
a = request.session
エラーをスローします
MIDDLEWARE
は1.10の新しい設定で、古いMIDDLEWARE_CLASSES
。
現在1.9を使用しているため、DjangoはMIDDLEWARE
設定を認識しません。MIDDLEWARE_CLASSES
代わりに設定:
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.
Settings.pyでこれを試すことができます、MIDDLEWARE_CLASSES = [....]:
MIDDLEWARE_CLASSES= [...]を[〜#〜] middleware [〜#〜]= [...]に変更します
MIDDLEWARE = [...]リストからSessionAuthenticationMiddlewareを削除します。
MIDDLEWARE_CLASSES設定は、Django 1.10で廃止され、Django 2.0で削除されました。
SessionAuthenticationMiddlewareクラスは削除されました。 Django 1.10。ではセッション認証が無条件に有効になっているため、機能は提供されませんでした。
このエラーは、タイプミスがある場合にもスローされます。つまり.
request.sesion ...
の代わりに
request.session ...
ミドルウェアの順序を確認します。セッションミドルウェアの上にリストされているいくつかのミドルウェアでミドルウェアにアクセスしようとすると、このエラーが発生します。