Django 序列化程序请求 JSON 值
Django serializer request JSON value
用过
django 2.0.2 MAC OS 10.13
views.py
from rest_framework import viewsets
from .serializers import RegisterSerializer
from rest_framework.response import Response
import json
class RegisterViewSet(viewsets.ModelViewSet):
queryset = ''
serializer_class = RegisterSerializer
def create(self,request, *args, **kwargs):
print(json.loads(request.body))
serializer_class = RegisterSerializer(json.loads(request.body))
return Response(serializer_class)
serializers.py
from rest_framework import serializers
from .models import register
import uuid
class RegisterSerializer(serializers.Serializer):
UserEmail = serializers.EmailField(allow_blank=True,default=uuid.uuid4())
UserPassword = serializers.CharField(allow_blank=True,default=uuid.uuid4())
UserSex = serializers.IntegerField(default=0)
UserAge = serializers.IntegerField(default=0)
DeviceId = serializers.CharField(allow_blank=True,default=uuid.uuid4())
PushKey = serializers.CharField(allow_blank=True,default=uuid.uuid4())
OS = serializers.IntegerField(default=0)
OSVersion = serializers.CharField(allow_blank=True,default=0)
def create(self,validated_date):
return True
apitest.html
enter image description here
我输入这个值
成功 print(json.loads(request.body))
如何在序列化器
中使用这个值
在
之后
引发此异常
You passed a Serializer instance as data, but probably meant to pass serialized `.data` or `.error`. representation.
更改此行
return Response(serializer_class)
到
return Response(serializer_class.data)
用过 django 2.0.2 MAC OS 10.13
views.py
from rest_framework import viewsets
from .serializers import RegisterSerializer
from rest_framework.response import Response
import json
class RegisterViewSet(viewsets.ModelViewSet):
queryset = ''
serializer_class = RegisterSerializer
def create(self,request, *args, **kwargs):
print(json.loads(request.body))
serializer_class = RegisterSerializer(json.loads(request.body))
return Response(serializer_class)
serializers.py
from rest_framework import serializers
from .models import register
import uuid
class RegisterSerializer(serializers.Serializer):
UserEmail = serializers.EmailField(allow_blank=True,default=uuid.uuid4())
UserPassword = serializers.CharField(allow_blank=True,default=uuid.uuid4())
UserSex = serializers.IntegerField(default=0)
UserAge = serializers.IntegerField(default=0)
DeviceId = serializers.CharField(allow_blank=True,default=uuid.uuid4())
PushKey = serializers.CharField(allow_blank=True,default=uuid.uuid4())
OS = serializers.IntegerField(default=0)
OSVersion = serializers.CharField(allow_blank=True,default=0)
def create(self,validated_date):
return True
apitest.html enter image description here
我输入这个值
成功 print(json.loads(request.body))
如何在序列化器
在
之后引发此异常
You passed a Serializer instance as data, but probably meant to pass serialized `.data` or `.error`. representation.
更改此行
return Response(serializer_class)
到
return Response(serializer_class.data)