zoukankan      html  css  js  c++  java
  • 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>。

  • 相关阅读:
    golang1.8
    用jmeter测试mogonDd数据库
    Memcache课程
    appium 处理滑动的方法
    【MVC 2】MVC+EF框架结构实例:注册ID号验证
    【Ajax 3】JavaScript封装Ajax
    【Ajax 2】封装Ajax的核心对象:XMLHttpRequest对象
    【Ajax 1】Ajax与传统Web开发的区别
    【软工7】软件工程中的文档
    【软考10】计算机网络基础知识拾遗
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13275749.html
Copyright © 2011-2022 走看看