From 14f4425a228bca127530f35d8599c133180175a7 Mon Sep 17 00:00:00 2001 From: sxw Date: Sun, 29 Nov 2015 15:26:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B=E7=BB=86?= =?UTF-8?q?=E8=8A=82=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account/views.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/account/views.py b/account/views.py index c92d04f..2ba5739 100644 --- a/account/views.py +++ b/account/views.py @@ -286,8 +286,8 @@ class ApplyResetPasswordAPIView(APIView): user = User.objects.get(email=data["email"]) except User.DoesNotExist: return error_response(u"用户不存在") - #if user.reset_password_token_create_time and (now() - user.reset_password_token_create_time).total_seconds() < 20 * 60: - # return error_response(u"20分钟内只能找回一次密码") + if user.reset_password_token_create_time and (now() - user.reset_password_token_create_time).total_seconds() < 20 * 60: + return error_response(u"20分钟内只能找回一次密码") user.reset_password_token = rand_str() user.reset_password_token_create_time = now() user.save() @@ -329,11 +329,6 @@ class ResetPasswordAPIView(APIView): return serializer_invalid_response(serializer) - - - - - def user_index_page(request, username): try: user = User.objects.get(username=username) @@ -370,3 +365,12 @@ class SSOAPIView(APIView): request.user.save() return render(request, "oj/account/sso.html", {"redirect_url": callback + "?token=" + token, "callback": callback}) + +def reset_password_page(request, token): + try: + user = User.objects.get(reset_password_token=token) + except User.DoesNotExist: + return error_page(request, u"链接已失效") + if (now() - user.reset_password_token_create_time).total_seconds() > 30 * 60: + return error_page(request, u"链接已过期") + return render(request, "oj/account/reset_password.html", {"user": user})