DRF - 序列化之驗證使用者傳送的資料
阿新 • • 發佈:2021-01-20
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")
再次提交空資訊: