2009-08-14 20 views

risposta

22

Come detto jobscry, il logout() pulisce i dati della sessione, ma sembra che abbiate impostato anche i vostri cookie.

Si potrebbe avvolgere vista autenticazione logout, che restituirà un HttpResponse:

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

Oppure, se si sta solo utilizzando il metodo di logout in contrasto con la vista, è possibile utilizzare il valore di ritorno per il reindirizzamento () metodo che hai [che presumo restituisca anche HttpResponse].

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

Grazie del tuo suggerimento ha funzionato .. !! – Ramya

+3

** ** NB _ "A causa del modo in cui funzionano i cookie,' 'path' e domain' dovrebbero essere gli stessi valori che hai usato in' set_cookie() '- altrimenti il ​​cookie non può essere eliminato." _ Https://docs.djangoproject.com/en/1.3/ref/request-response/#django.http.HttpResponse.delete_cookie –

+0

Grazie @MattBall. Questo deve essere il caso con qualsiasi linguaggio, framework, biblioteca, ecc .. – muffs

Problemi correlati