视图流程
自己写路由
这里的自己写路由指的 在view中继承了
ModelViewSet
才这样调用
from django.urls import path
from app01.views import BookModelViewSet
urlpatterns = [
# 如果使用as_view()带参数,视图就必须继承ViewSetMixin
path('book/list', BookModelViewSet.as_view({"get": "list", "post": "create"})),
path('book/retrieve/<int:pk>', BookModelViewSet.as_view({"get": "retrieve", "put": "update", "delete": "destroy"})),
]
自动发现路由
优势
:自己生成创建路由
缺点
:会使过多的链接暴露,如果不是高度匹配不建议使用
from app01.views import BookModelViewSet # 视图
from rest_framework.routers import DefaultRouter # 自动生成路由
router = DefaultRouter()
'''自动注册路由 参数1=匹配规则, 参数2=视图'''
router.register(r"book", BookModelViewSet)
urlpatterns = [
]
urlpatterns += router.urls # 必须增加