2017-04-11 31 views
6

Yerel sunucumu django projemle her çalıştırdığımda, 1.8'den beri kullanmama rağmen Django 1.7'de global middleware sınıflarının değiştirildiğini belirten bir hata mesajı alıyorum. Blogum, http://127.0.0.1:8000/ adresinden yüklenemedi, ancak yönetici sitesini yüklemeye çalıştığımda, Middleware ile ilgili olduğunu söyleyebileceğim kadarıyla AttributeError at /admin/ 'WSGIRequest' object has no attribute 'user' aldım. peşin Yardımlarınız için teşekkürlerDjango Middleware Hatası - Middleware 1.7 için değiştirildi

DÜZENLEME: My katman:

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', 
] 

Hata mesajı:

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

Yardımcı yazılım ayarlarınızı veya tam hata iletinizi dahil etmediğiniz için yardımcı olamıyoruz. – Alasdair

cevap

5

MIDDLEWARE ayar Django 1.10 kullanılmaya başlandı. Django 1.9 veya daha önce kullanıyorsanız, bunun hiçbir etkisi olmayacaktır ve bunun yerine MIDDLEWARE_CLASSES ayarını kullanmalısınız.

Doğru yönergelere uymanız için, belgelerin doğru sürümünü kullandığınızdan emin olun (ör. Django 1.8, Django 1.11).

+1

Neyin yanlış gittiğinden emin değilim - 1.8 kullanarak yarattım ve değiştirmeyi hatırlamıyorum! –

3

django 1.11 kullanarak projemi oluşturdum, ancak dosyaları web sunucusuna aktardığımda, fcgi ile hatalarla karşılaştım ve bu da beni 1.8 sürümüne düşürmeme zorladı. Bu nedenle, hata, yöneticinin MIDDLEWARE yerine MIDDLEWARE_CLASSES beklemesinden kaynaklandı. Hatayı çözen değiştirme.

İlgili konular