मुझे यह त्रुटि कभी-कभी कस्टम मिडलवेयर में process_response विधि में मिलती है।'WSGIRequest' ऑब्जेक्ट में कोई विशेषता नहीं है 'सत्र'
MIDDLEWARE_CLASSES = [
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'application.middleware.LastCampaignSessionMiddleware'
]
तो सत्र मिडलवेयर मेरी मिडलवेयर पहले रखा जाता: मैं middlewares के निम्नलिखित सूची है। मेरे पास स्रोत कोड में कोई del request.session
अभिव्यक्ति नहीं है। यह process_response विधि है:
def process_response(self, request, response):
if 'last_campaign_id' in request.session and request.session['last_campaign_id']:
if request.COOKIES['last_campaign_id'] != request.session['last_campaign_id']:
response.set_cookie('last_campaign_id', request.session['last_campaign_id'])
return response
सुनिश्चित नहीं हैं कि क्यों यह बिल्कुल हो सकता है।
संपादित 03-08-2012 12-30
यह ब्राउज़र का अनुरोध फ़ेविकॉन की तरह दिखता है:
[03/Aug/2012 10:26:42] "GET /favicon.ico/ HTTP/1.1" 404 6701
वहाँ इस यूआरएल को हल करने Django में कोई डिफ़ॉल्ट व्यवहार है? क्योंकि मैंने स्पष्ट रूप से दृश्य निर्दिष्ट नहीं किया है जिसे इस अनुरोध को संभालना चाहिए। और मैं पेज स्रोत कोड में फेविकॉन का उपयोग नहीं करता हूं। तो मुझे लगता है कि यह ब्राउज़र है जो/favicon.ico का अनुरोध करता है। मुझे लगता है कि 404 त्रुटि के मामले में HttpRequest ठीक से निर्माण नहीं करेगा, इसलिए कोई आश्चर्य नहीं कि मेरे पास अनुरोध ऑब्जेक्ट में कोई सत्र नहीं है। लेकिन यह सिर्फ मेरी धारणा है।
यदि यह आवश्यक हो तो मैं यह त्रुटि प्राप्त करते समय django dev सर्वर का उपयोग कर रहा हूं।
संपादित 13-00
मैं फ़ेविकॉन के साथ इस समस्या तय कर दी है, लेकिन अभी भी त्रुटि मिल रही है। अनुरोध में सत्र क्यों मौजूद नहीं हो सकता है?
तो समस्या क्या है? अगर आपको कोई त्रुटि मिलती है तो क्या आप इस प्रश्न में लॉग जोड़ सकते हैं? – StefanNch
ओह, यह शीर्षक में है: 'WSGIRequest' ऑब्जेक्ट में कोई विशेषता 'सत्र' नहीं है। हर बार जब मैं अपनी साइट का कोई यूआरएल प्राप्त करने की कोशिश कर रहा हूं। यह application.middleware.LastCampaignSessionMiddleware की process_response विधि में होता है। – sunprophit