如何在Django中对PasswordReset执行其他操作

时间:2019-05-07 05:06:21

标签: python django

当用户尝试输入系统无法识别的凭据时,我正在使用django-axes锁定帐户。

但是,当我确实使用django auth程序包对锁定的帐户执行密码重置功能时,显然没有捷径可以解除该帐户的锁定。

即使密码已经重设,该帐户仍会被django-axes锁定几分钟。

我正在尝试

python manage.py axes_reset_username

类PasswordResetCompleteView 上,但是我不确定如何访问已重置密码的用户名。

1 个答案:

答案 0 :(得分:0)

必须重写auth类才能添加有关密码重置的说明。 这是代码

from django.contrib.auth import views as auth_views
from axes.utils import reset

class PasswordResetConfirmView(auth_views.PasswordResetConfirmView):
    success_url = reverse_lazy('user_management:password_reset_complete')

    def form_valid(self, form):
        user = form.save()
        reset(username=user.username)
        return super().form_valid(form)

我确实重写了类PasswordResetConfirmView的form_valid函数。然后使用django-axes实用程序重置 reset(username = user.username)

希望这对某人有帮助