环境准备
python==3.6
安装drf
安装drf,会自动安装djangopip install djangorestframework==3.12.4
版本要求:djangorestframework==3.12.4Python (3.5, 3.6, 3.7, 3.8, 3.9)Django (2.2, 3.0, 3.1)版本要求:djangorestframework==3.11.2Python (3.5, 3.6, 3.7, 3.8)Django (1.11, 2.0, 2.1, 2.2, 3.0)
创建django项目
django-admin startproject drf
运行django项目
配置django
在settings.py中添加配置
INSTALLED_APPS = [...# 注册rest_framework(drf)'rest_framework',]# drf相关配置以后编写在这里REST_FRAMEWORK = {}
创建django app
URL和视图
# drf/urls.pyfrom django.urls import pathfrom app01 import viewsurlpatterns = [path('users/', views.UserView.as_view()),]
# app01/views.pyfrom rest_framework.views import APIViewfrom rest_framework.response import Responseclass UserView(APIView):def get(self, request, *args, **kwargs):return Response({"code": 1000, "data": "xxx"})def post(self, request, *args, **kwargs):return Response({"code": 1000, "data": "xxx"})
DRF CBV原理
drf中重写了 as_view 和dispatch方法,其实就是在原来django的功能基础上添加了一些功能,例如:
- as_view,免除了csrf 验证,一般前后端分离不会使用csrf token认证(后期会使用jwt认证)。
 - dispatch,内部添加了 版本处理、认证、权限、访问频率限制等诸多功能(后期逐一讲解)。
 


