在Django中更改密码后自动注销/销毁会话

时间:2016-02-08 10:40:21

标签: python django session django-sessions

我正在使用 django框架,我需要在密码更改后自动注销用户(not password reset via mail)。

我正在使用django:“contrib.auth.views.password_change”来帮助我这样做,

即,我没有单独的视图,因此我也使用了Django的password_change_done视图。

我需要知道在使用django的默认视图时,是否有任何方法可以在密码更改后自动注销/销毁会话?

1 个答案:

答案 0 :(得分: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")