Я реализую членство с помощью модуля JSON. Прежде всего, я использовал json .loads, чтобы получить значение, которое вошло в тело, а затем я написал код, чтобы поместить его в модель пользователя. Однако здесь возникает следующая ошибка.
JSONDecodeError в / signUp Ожидаемое значение: строка 1 столбец 1 (char 0)
Интересно, что не так с моим кодом, и Я хочу знать решение этой проблемы. Вот мой код. заранее спасибо
views.py
from django.core.mail import EmailMessage
from rest_framework.views import APIView
from rest_framework.generics import CreateAPIView
from rest_framework.permissions import IsAuthenticated
from .serializers import userDetailSerializer, emailSerializer, userSerializer
from .models import User, userDetail, email
import random
import string
import json
class userView (APIView) :
serializer_class = userSerializer
def post(self, request) :
data = json.loads(request.body)
if User.objects.filter(email = data['email']).exists() :
return JsonResponse({"message" : "이미 존재하는 아이디입니다."}, status = 401)
else:
User.objects.create(email = data['email'], password = data['password'])
return redirect('emailView')
class userDetailView (CreateAPIView) :
serializer_class = userDetailSerializer
permission_classes = [IsAuthenticated,]
def get_queryset (self) :
user = self.request.user
queryset = userDetail.objects.filter(userId=user)
return queryset
class emailView (CreateAPIView) :
serializer_class = emailSerializer
def get_queryset (self) :
user = self.request.user
queryset = userDetail.objects.all()
return queryset
def makeNumber (self) :
stirng_pool = string.digits
result = ''
for i in range(6) :
result += random.choice(stirng_pool)
return result
def emailCheck (self) :
email = EmailMessage('대두에서 보냅니다', F'{makeNumber}', to=[F'{User.email}'])
email.send()
data = json.loads(request.body)
if data['number'] == makeNumber :
return JsonResponse({"message" : "회원가입 되었습니다."}, status = 201)
else :
return JsonResponse({"message" : "다시 확인해주세요."}, status = 401)