初撩Django-RESTful-rest_framework视图函数
rest_framework中的视图函数:
- View函数
- APIView函数
- APIView的子类
- mixins函数
- viewsets函数
1.View函数
2.APIView函数
3.APIView的子类
REST框架提供更多两个用于编写api视图的包装器(wrappers)
1.基于函数视图(FBV)的@api_view(),必须手动指定运行的请求方法
@api_view(http_method_names=['POST','GET',])我们可以用这个修饰器把def定义的方法转换为我们继承APIView的效果
2.基于类视图(CBV)的APIView类
4.mixins函数
5.viewsets函数
小亮点:通过上面的图,我们可以观察到我们的viewsets,APIView的子类都是通过组装mixins对models的增删改查的操作来实现的。
我们使用viewsets时需要注意,因为我们重写了as_view()方法,添加了路由的相关处理,所以我们在urls.py中定义路由时要定义对应的router。
router写法:
router = routers.DefaultRouter() # 注册 router.register(r'Books', views.BookViewSet) # BookViewSet为视图函数,Book为路径 urlpatterns = [ path('', include(router.urls)), # path('person', views.PersonView.as_view()), ]