9

Tôi tiếp tục nhận được lỗi này vào các thời điểm ngẫu nhiên và bất cứ khi nào tôi chạm vào tệp django.wsgi, nó sẽ được sửa chỉ để xảy ra sau vài giờ. Tôi bị mất như những gì để làm. lớp middleware_classes của tôi như sau:AttributeError: đối tượng 'WSGIRequest' không có thuộc tính 'phiên'

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.locale.LocaleMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.middleware.csrf.CsrfResponseMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.middleware.facebookConnectMiddleware.FacebookConnectMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.cache.FetchFromCacheMiddleware', 
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 
) 

Lỗi luôn xảy ra trong phần mềm trung gian của facebook khi tôi thực hiện câu lệnh "if request.session". Cảm ơn

+1

Bạn đã giải quyết vấn đề này chưa? Và làm thế nào? –

Trả lời

0

Bạn đang sử dụng Apache? Nếu có, bạn có thể khởi động lại httpd sau khi bạn sửa đổi tệp mod_wsgi.

sudo apachectl -k restart 
sudo apache2ctl -k restart 
sudo /etc/init.d/httpd restart 

... hoặc tương tự sẽ hoạt động. Nếu bạn vẫn gặp sự cố, hãy thử dán vào thông báo lỗi đầy đủ.

+0

Có cần khởi động lại Apache đầy đủ hay không phụ thuộc vào cách bạn đang sử dụng mod_wsgi. Nếu sử dụng chế độ daemon có nhiều cách để khởi động lại mã ứng dụng mà không cần khởi động lại toàn bộ Apache. Xem 'http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode'. –

+0

Đủ rồi. Tôi đang chẩn đoán các triệu chứng một chút ở đây: thường là khi tôi thấy một vấn đề tái diễn nó bởi vì nó được cố định trong một thread Apache nhưng không phải trong tất cả chúng ... do đó ý tưởng khởi động lại. Đó là giá trị một thử :-) – godswearhats

+0

tôi khởi động lại apache và điều đó dường như làm các trick. cảm ơn cả hai cho đầu vào của bạn :-) – kingsley

0

Hãy thử file WSGI kịch bản thay thế tài liệu ở cuối:

http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

Báo cáo lại cho mod_wsgi danh sách nếu điều đó giúp khi chúng ta đang cố gắng vẫn để khám phá những gì nếu có vấn đề mà thay thế WSGI kịch bản được giải quyết, vì vậy có thể tìm ra một vấn đề thực sự hay liệu người dùng không sử dụng Django đúng cách.

0

Kiểm tra xem trong mã của bạn, bạn có quyền ghi:

del request.session

sự là một cách chính xác là

del request.session['YOU VARIABLE']

5

Hãy chắc chắn rằng SessionMiddleware là lần đầu tiên trong MIDDLEWARE_CLASSES của bạn.

+0

Điều gì sẽ xảy ra nếu điều đó không hiệu quả? – jonprasetyo

Các vấn đề liên quan