第九单元
1.前后端分离和不分离的概念。
前:浏览器
- 体验为主:炫酷、流畅、兼容
后:服务端
- 三高:高并发、高可用、高性能
2.restful风格:
请求类型 要和 操作对应:
-
GET:获取数据
-
POST:提交数据,创建数据
-
PUT:提交数据,更新数据
-
DELETE:删除数据
-
POST /add-goods
增加商品 -
POST /delete-goods
删除商品 -
POST /update-goods
修改商品 -
GET /get-goods
查询商品信息
使用合理的状态码:
200 OK - [GET] # 服务器成功返回用户请求的数据
201 CREATED - [POST/PUT/PATCH] # 用户新建或修改数据成功。
204 NO CONTENT - [DELETE] # 用户删除数据成功。
3.接口API、接口文档
接口地址可以为:
https://api.baidu.com
也可以放在连接之后
https://baidu.com/api/
API接口文档一般分为接口描述、接口地址、请求方法、请求参数、响应内容、错误代码、实例
4.DRF工程:前后端分离需要使用的框架,需要在配置中注册。
安装DRF框架
pip install djangorestframework -i https://pypi.tuna.tsinghua.edu.cn/simple
配置 settings
INSTALLED_APPS = [
...
'rest_framework',
]
5.APIView 和 Response:DRF框架提供给我们的视图类 和 响应。
```python
from rest_framework.views import APIView
class ExampleView(APIView):
def post(self, request):
data = request.data # json/form 提交的数据
return Response({'received data': request.data})
```
6.什么是序列化和反序列化。
序列化:就是把模型层的数据返回为JSON**数据集
反序列化:就是把前端发来的JSON**数据,类字典数据,变为模型层的数据
7.序列化器:实现序列化和反序列化的工具。
# 创建自己的序列化器---写模型类一样
from rest_framework import serializers
# 定义序列化器的名字
class TeacherSerializer(serializers.Serializer):
name = serializers.CharField()
age = serializers.IntegerField()
gender = serializers.CharField()