2017-04-11 4 views
6

ローカルサーバーを私のdjangoプロジェクトで実行すると、Django 1.7でグローバルミドルウェアクラスが変更されたという警告とエラーメッセージが表示されます。私のブログはhttp://127.0.0.1:8000/ですが、ロードはうまくいきますが、管理サイトをロードしようとすると、AttributeError at /admin/ 'WSGIRequest' object has no attribute 'user'と表示されます。これは、ミドルウェアと関係があります。事前にご協力いただきありがとうございDjangoミドルウェアエラー - ミドルウェアが変更されました。

EDIT:私のミドルウェア:

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

エラーメッセージ:

Warnings 
?: (1_7.W001) Middleware_Classes is not set. 
    Hint: Django 1.7 changed the global defaults for the middleware_classes. django.contrib.auth.middleware.AuthenticationMiddleware, django.contrib.sessions.middleware.SessionMiddleware, and django.contrib.messages.middleware.MessageMiddleware, were removed from the defaults. If your project needs this middleware then you should configure this middleware. 
+0

ミドルウェアの設定や完全なエラーメッセージが含まれていないため、サポートができません。 – Alasdair

答えて

5

MIDDLEWARE設定は、Djangoの1.10で導入されました。 Django 1.9以前を使用している場合は効果がありませんので、代わりにMIDDLEWARE_CLASSES設定を使用してください。

適切なバージョンのドキュメント(例:Django 1.8Django 1.11)を使用していることを確認し、正しい指示に従ってください。

+1

何がうまくいかなかったか - 私は1.8を使って作成しましたが、私はそれを変更したことを覚えていません! –

3

django 1.11を使用してプロジェクトを作成しましたが、ファイルをWebサーバーに転送すると、fcgiというエラーが発生し、1.8にダウングレードしました。このため、管理者は の代わりに MIDDLEWAREの代わりに現在管理者が予想していたため、エラーが発生しました。 これを変更するとエラーが解決しました。

関連する問題