enroll
This commit is contained in:
+12
-7
@@ -1,4 +1,3 @@
|
||||
from rest_framework.exceptions import ValidationError, ErrorDetail
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.generics import GenericAPIView
|
||||
from enroll.models import Department, EmailVerifyRecord, New_member
|
||||
@@ -8,6 +7,7 @@ from rest_framework import status
|
||||
from rest_framework.views import APIView
|
||||
from enroll.email import send_code_email
|
||||
import re
|
||||
import time
|
||||
|
||||
|
||||
class Department_message(GenericAPIView):
|
||||
@@ -32,24 +32,29 @@ class Sign_up(GenericAPIView):
|
||||
code = data['verification_code']
|
||||
print(f"code={code}")
|
||||
try:
|
||||
if code != EmailVerifyRecord.objects.get(email=data['email']).code:
|
||||
oj = EmailVerifyRecord.objects.get(email=data['email'])
|
||||
send_time = str(oj.send_time).split('+')[0].split('.')[0]
|
||||
send_time = time.mktime(time.strptime(send_time, '%Y-%m-%d %X'))
|
||||
now = time.time()
|
||||
if now - send_time > 120:
|
||||
return Response(
|
||||
{"code": 40000, "msg": {"verification_code": "邮箱验证码过期"}},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
if code != oj.code:
|
||||
return Response({"code": 40000, "msg": {"verification_code": "邮箱验证码错误"}},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
except EmailVerifyRecord.DoesNotExist:
|
||||
return Response({"code": 40000, "msg": {"verification_code": "请先发送验证码"}},
|
||||
status=status.HTTP_400_BAD_REQUEST)
|
||||
ret = serializer.is_valid(raise_exception=False)
|
||||
# serializer.save()
|
||||
# print(serializer.errors)
|
||||
# ErrorDetail
|
||||
if ret:
|
||||
serializer.save()
|
||||
return Response({"code": 20000, "msg": "成功"})
|
||||
else:
|
||||
error = {}
|
||||
for (i, j) in zip(serializer.errors.keys(), serializer.errors.values()):
|
||||
error[str(i)] = str(j[0])
|
||||
return Response({"code": 40000, "msg": error}, status=status.HTTP_400_BAD_REQUEST)
|
||||
return Response({"code": 20000, "msg": "成功"})
|
||||
|
||||
def get(self, request):
|
||||
string = request.query_params.get('string', '')
|
||||
@@ -71,6 +76,7 @@ class Send_email(APIView):
|
||||
def post(self, request):
|
||||
data = request.data
|
||||
serializer = Send_email_serializer(data=data)
|
||||
# code_serializer = Code_email_serializer()
|
||||
ret = serializer.is_valid()
|
||||
if ret:
|
||||
# serializer.save()
|
||||
@@ -81,4 +87,3 @@ class Send_email(APIView):
|
||||
for (i, j) in zip(serializer.errors.keys(), serializer.errors.values()):
|
||||
error[str(i)] = str(j[0])
|
||||
return Response({"code": 40000, "msg": error}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user