2016-02-08 3 views
3

Я использую каркас django, и мне нужно автоматически выйти из системы после изменения пароля (not password reset via mail).Автоматическое выключение/уничтожение сеанса после смены пароля в Django

Я использую Джанго: «contrib.auth.views.password_change», чтобы помочь мне сделать это,

т.е. я не имеющий отдельный вид, и в результате я также использую password_change_done вид Джанго.

Мне нужно знать, есть ли способ автоматически выйти из системы/уничтожить сеансы после смены пароля при использовании представлений по умолчанию django?

+0

Могу ли я спросить Зачем? Похоже, что это было бы очень неприятно из-за юзабилити. – Sayse

+1

Я работаю с бизнес-инфраструктурой с возможностью открытия экрана для «случайных» людей. Я попробую A/B тестирование и посмотреть, как пользователи реагируют – Sayantan

ответ

3

password_change имеет post_change_redirect, так что вы можете заменить его:

from django.contrib.auth.views import password_change 
from django.core.urlresolvers import reverse 

def my_password_change(request): 
    return password_change(request=request,post_change_redirect=reverse('logout')) 

Затем в urls.py, установите my_password_change как вид, который принимает запрос passowrd изменения:

url(r'^password_change/done/$',my_password_change,name="my_password_change") 
+0

Спасибо, мистер Лаор !!!! Это отлично работает !!! – Sayantan

Смежные вопросы