• drf之路由


    一、基本方式:

      1、path/url('targets/', views.TargetsView.as_view())。

      2、re_path/url('target(?P<pk>d+)', Targetviews.View.as_view())。

    二、继承了ViewSetMixin系列,可以写入actions的情况

      1、path/url('targets/', views.TargetsView.as_view(actions={'get':'list','post':'create'}))。

      2、re_path/url('target(?P<pk>d+)', Targetviews.View.as_view(actions={'get':'retrieve','put':'update','delete':'destroy'}))。

    三、继承了ModelViewSet,自动路由的写法:
      1、第一步:导入routers模块,rest_framework.routers。

      2、第二步:有两个路由器类可选,使用其一,生成路由器对象,例如,router=路由器类()。

        ①routers.SimpleRouter:生成两条路由。

        ②routers.DefaultRouter:生成更多路由。

      3、第三步:注册,router.register('路由前缀','继承了ModelViewSet的视图类','路由别名'),例如,router.register('target',views.TargetView,'xxx')。

      4、第四步:生成路由,auto_urls=router.urls。

      5、第五步:合并路由,urlpatterns+=auto_urls。

    四、有参装饰器action

      1、用途:给注册了自动路由的视图类增加自定义方法。

      2、用法:在自定义方法上方,@action(methods=['GET','POST'],detail=False)。

      3、路由:.../target/自定义方法名/。

      4、参数:

        ①methods:请求方式,列表形式。

        ②detail:布尔类型,是否需要传入<pk>。

  • 相关阅读:
    调用 验证码
    始终居中的弹出层
    jq常用
    ThinkPHP redirect 方法
    session 的生成和删除
    1355:字符串匹配问题(strs)
    1348:【例49】城市公交网建设问题
    1357:车厢调度(train)
    1358:中缀表达式值(expr)
    1351:【例412】家谱树
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13275749.html
Copyright © 2020-2023  润新知