【DJango项目】 Djangorestful 前后端分离

1、安装

  pip install djangorestframework

2、创建工程 添加framework应用 setting.py

INSTALLED_APPS = [
    ...
    'rest_framework',
]

3、定义serializers.py

from rest_framework import serializers
from .models import BookInfo

# 定义序列化器
class BookInfoSerializer(serializers.ModelSerializer):
    class Meta:
        model = BookInfo
        fields = '__all__'

字段 required = False ,
read_only = True 只在序列化使用
write_only = True 只在反序列化使用

4、 views.py 

# 使用DRF开发接口
class BookInfoViewSet(ModelViewSet):
    queryset = BookInfo.objects.all()
    serializer_class = BookInfoSerializer

  

序列化:模型对象转化成python字典 通过字典转换成xml json 返还给前段用于输出

反序列化 : 前端数据经过验证 转换成python字典 用于输入 接收前端数据时使用 

 序列化器的作用:帮助我们进行序列化和反序列化 

序列化  b = BookInfoSerializer(book)    b.data 

反序列化     data = {} , b = BookInfoSerializer(data=data) , b.is_valid # 校验 , b.errors 返回错误字典 

                   s.validated_data 返回对象数据 

单个字段的校验

多个字段验证

猜你喜欢

转载自www.cnblogs.com/oscarli/p/12334247.html