From b14a69e312951e548792718fc3709b754d6d3ed4 Mon Sep 17 00:00:00 2001 From: ygm1881 <2302253692@qq.com> Date: Sun, 17 Apr 2022 18:33:48 +0800 Subject: [PATCH] enroll --- .idea/vcs.xml | 1 - ITShowPlatform/settings.py | 8 ++++++-- ITShowPlatform/urls.py | 3 ++- enroll/views.py | 35 ++++++++++++++++++++++++----------- 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 288b36b..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,7 +1,6 @@ - \ No newline at end of file diff --git a/ITShowPlatform/settings.py b/ITShowPlatform/settings.py index cd181a2..a7164af 100644 --- a/ITShowPlatform/settings.py +++ b/ITShowPlatform/settings.py @@ -78,8 +78,12 @@ WSGI_APPLICATION = 'ITShowPlatform.wsgi.application' DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'it_show', + 'USER': 'root', + 'PASSWORD': '123456', + 'HOST': '127.0.0.1', + 'PORT': 3306, } } diff --git a/ITShowPlatform/urls.py b/ITShowPlatform/urls.py index 2ef3b7c..827ac82 100644 --- a/ITShowPlatform/urls.py +++ b/ITShowPlatform/urls.py @@ -14,8 +14,9 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), + path('',include("enroll.urls")) ] diff --git a/enroll/views.py b/enroll/views.py index 1cdcc79..ead7736 100644 --- a/enroll/views.py +++ b/enroll/views.py @@ -1,4 +1,4 @@ -from rest_framework.exceptions import ValidationError +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 @@ -30,19 +30,25 @@ class Sign_up(GenericAPIView): data = request.data serializer = self.get_serializer(data=data) code = data['verification_code'] - # print(f"code={code}") + print(f"code={code}") try: if code != EmailVerifyRecord.objects.get(email=data['email']).code: - return Response({"verification_code": "邮箱验证码错误"}, status=status.HTTP_400_BAD_REQUEST) + return Response({"code": 40000, "msg": {"verification_code": "邮箱验证码错误"}}, + status=status.HTTP_400_BAD_REQUEST) except EmailVerifyRecord.DoesNotExist: - return Response({"verification_code": "请先发送验证码"}, status=status.HTTP_400_BAD_REQUEST) - serializer.is_valid(raise_exception=True) - serializer.save() + 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) - # if ret: - # serializer.save() - # else: - # print(f"error_messages={serializer.errors}") + # ErrorDetail + if ret: + serializer.save() + 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): @@ -65,6 +71,13 @@ class Send_email(APIView): def post(self, request): data = request.data serializer = Send_email_serializer(data=data) - serializer.is_valid(raise_exception=True) + ret = serializer.is_valid() + if ret: + serializer.save() + 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) send_code_email(data.get("email")) return Response({"code": 20000, "msg": "成功"})