1、REST
- 前后端分离,来应对前后端连接的API,通常用json来与前端交互
- API
- 为了应对千变万化的前端界面
- RESTful:遵守REST规范的技术设计的软件可以成为RESTful
- REST规范(模拟动宾节构)
- URL代表一个资源,一个资源应该对应一个名词(宾)
- 动作有HTTP的method方法提供
- URL应该包含版本信息,版本信息也可以放在HTTP协议中
- 过滤信息使用URL的参数代表过滤
- 返回值:每一个返回代码都有具体特定含义
- 返回格式:推荐固定具体格式
Django-Rest Framework(DRF)
- 主要任务通过接口用json来传递数据
- 需要在settings中按rest-framework
- 创建model模型
- 创建序列化器(在app中创建一个serializers.py,跟定义模型差不多)
- 序列化: 把系统运行中的一些实例等转换成一种可直接表示出来的格式,用来保存,传输等
- 反序列化: 序列化的反操作
-验证
- is_valid
- 验证数据是否合法,返回boolean
- 在使用从外部传入的数据之前,必须使用此函数验证
- 如果验证失败,在返回数据错误异常
- validated_data:
- 经过验证后的数据,存入此结构
from rest_framework import serializers # 序列化器都存放在这里
from MySer.models import *
# 此文件用来存放序列化器
# class StudentSerializer(serializers.Serializer):
class StudentSerializer(serializers.ModelSerializer):
'''
里面写的是每一个需要序列化/反序列化的字段
跟定义模型基本一致
'''
# name = serializers.CharField(label='姓名', max_length=40)
# age = serializers.IntegerField()
# score = serializers.IntegerField()
class Meta:
# 告诉序列化器,对应哪个模型
model = Student
# fields = ('name', 'age', 'score')
# all左右是两个下划线
fields = '__all__'