在 Django 中更改密码后自动 logout/destroy 会话

Auto logout/destroy session after Password Change in Django

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

我正在使用 django 的 :"contrib.auth.views.password_change" 来帮助我做到这一点,

也就是说,我没有单独的视图,因此我也在使用 Django 的 password_change_done 视图。

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

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 设置为接受密码更改请求的视图:

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