JSONDecodeError в / signUp Ожидаемое значение: строка 1 столбец 1 (символ 0) - PullRequest
0 голосов
/ 07 августа 2020

Я реализую членство с помощью модуля 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)
...