DRF - 序列化之验证用户发送的数据
views.py:
from rest_framework.views import APIView from rest_framework import serializers from django.shortcuts import HttpResponse class UserGroupSerializer(serializers.Serializer): title = serializers.CharField() class UserGroupView(APIView): def post(self, request, *args, **kwargs): ser = UserGroupSerializer(data=request.data) if ser.is_valid(): # 如果 ser 有数据 print(ser.validated_data["title"]) else: print(ser.errors) # 如果没数据,则打印错误信息 return HttpResponse("ok")
提交数据
因为内容为空,打印错误信息:
提交有效的数据:
打印结果:
可自定义提交空内容时的错误提示信息
from rest_framework.views import APIView from rest_framework import serializers from django.shortcuts import HttpResponse class UserGroupSerializer(serializers.Serializer): title = serializers.CharField(error_messages={"blank": "标题不能为空"}, ) class UserGroupView(APIView): def post(self, request, *args, **kwargs): ser = UserGroupSerializer(data=request.data) if ser.is_valid(): # 如果 ser 有数据 print(ser.validated_data["title"]) else: print(ser.errors) # 如果没数据,则打印错误信息 return HttpResponse("ok")
再次提交空信息: