3.drf使用配置&请求封装
1.
pip install djangorestframework==3.12.4
版本要求
djangorestframework==3.12.4
python(3.5-3.9)
Django(2.2, 3.0, 3.1)
djangorestframework==3.11.2
python(3.5-3.8)
Django(1.11, 2.0, 2.1, 2.2, 3.0)
INSTALLED_APPS = [
...
'rest_framework',
]
# drf相关的配置
REST_FRAMEWORK = {
}
drf中重写了as_view和dispatch函数,扩展了一些功能
- as_view:免除csrf_token的验证
- dispath:添加了版本处理,认证,权限,访问频率限制等功能
request再封装
def users(request, version, pk=None): request.method request.POST.get('data')
class UserView(APIView): def get(self, request, *args, **kwargs): # 通过对象的嵌套直接找到原request,读取相关值 request._request.method request._request.GET request._request.POST request._request.body # 直接读取新request对象中的值,一般此处会对原始的数据进行一些处理,方便开发者在视图中使用。 request.query_params # 内部读取请求体中的数据,并进行处理,例如:请求者发来JSON格式,他的内部会对json字符串进行反序列化。 request.data # 通过 __getattr__ 去访问 request._request 中的值 request.method # 封装在对象中的可变参数 # self.args # self.kwargs