我使用Django.contrib.auth.views实现了一个内置的Django密码重置过程。它很有效,但有一个问题,当用户登录时,他/她仍然可以键入密码重置url,然后重置密码。我想防止用户登录时出现密码重置视图。实现这一点的最佳方法是什么?
视图.py:
def password_reset(request):
if not request.user.is_authenticated:
#Stuff
else:
return HttpResponseRedirect("/home/")
或
类基础视图中的快捷方式
urls.py:
urlpatterns = [
path('password/reset/',PasswordResetView.as_view(redirect_authenticated_user=True,),name='reset_password'),
# OR function base view..
path('password/reset/',PasswordResetView,{'redirect_authenticated_user': True},name='reset_password')
]
阅读文档。。
设置.py:(必须(
LOGIN_REDIRECT_URL='/'