2009-08-14 19 views
14

मैं लॉगआउट के बाद उपयोगकर्ता को होम पेज पर रीडायरेक्ट करता हूं। बीच में मैं सभी/या विशिष्ट क्लाइंट कुकीज़ को हटाना चाहता हूं (मैंने पहले सेट किया है)।Django लॉगआउट (होम पेज पर रीडायरेक्ट) .. कुकी हटाएं?

def logoutuser(request): 
    logout(request) 
    return redirect('app.home.views.home') 

प्रतिक्रिया.delete_cookie ('user_location') को कॉल करने के लिए, कोई प्रतिक्रिया ऑब्जेक्ट नहीं है। मैं यह कैसे करु?

उत्तर

22

जॉब्स्री की तरह, लॉगआउट() सत्र डेटा साफ़ करता है, लेकिन ऐसा लगता है कि आपने अपनी कुकीज़ भी सेट की है।

आप प्रमाणन लॉगआउट दृश्य लपेट कर सकता है, जो एक HttpResponse वापस आ जाएगी:

def logout_user(request): 
    response = logout(request, next_page=reverse('app.home.views.home')) 
    response.delete_cookie('user_location') 
    return response 

या यदि आपने अभी लॉगआउट पद्धति के रूप में देखने के लिए विरोध का उपयोग कर रहे, तो आप रीडायरेक्ट के लिए वापसी मान का उपयोग कर सकते () आपके पास विधि है [जो मुझे लगता है कि एक HttpResponse भी देता है]।

def logout_user(request): 
    logout(request) 
    response = redirect('app.home.views.home') 
    response.delete_cookie('user_location') 
    return response 
+0

का उपयोग कर रहा हूँ धन्यवाद आपके सुझाव काम किया .. !! – Ramya

+3

** एनबी ** _ "कुकीज के तरीके के कारण, 'पथ' और' डोमेन' वही मान होना चाहिए जो आपने 'set_cookie()' में उपयोग किया था - अन्यथा कुकी हटाई नहीं जा सकती है।" _ Https://docs.djangoproject.com/en/1.3/ref/request-response/#django.http.HttpResponse.delete_cookie –

+0

धन्यवाद @ मैटबॉल। यह किसी भी भाषा, ढांचे, पुस्तकालय, आदि के साथ मामला होना चाहिए .. – muffs

संबंधित मुद्दे