【DRF】DRF中的路由器机制

      最后更新:2022-05-20 08:46:40 手机定位技术交流文章

      一、各种常见需求

      请购1:检索项目信息;不论页数,仅导出对象的代号和名称。
      指定动作方法

      定义路由:

      定义到这里可以吗?
      不,不是,这是分歧,重复一遍

      在这里插入图片描述

      我们只能更改路线入口,如下文所示。

      要求2:获得所有项目接口细节。
      指定动作方法

      定义路由:

      疼痛点 1 : 如果有许多操作方法, 将很难绘制六个路径条目和一些自定义操作方法 。 是否自动生成路径条目不需要自我定义 。 然后我们必须理解路由器机制, 如下 。

      二、路由器机制

      以下是由视图类支持的所有路径条目,包括自动生成路径条目的ModelViewSet中的所有动作方法和自定义动作方法。
      在这里插入图片描述

      1. 路由器对象只能用于为查看群集制作路由条目。
      2. 路由器物体默认只为一般行动(创建、列表、检索、更新、销毁)生成路线记录,定制行动方法不生成路线条目。
      3. 构造简单的路由物体。
      router=routers.SimpleRouter()
      4. 登记方法用于登记路由器物体。
      5. 前缀定义的路线前缀
      给定 6 视图集, 不能被称为“ 视图”
      7、方式一:path('',include(router.urls))生成路由条目
      8 - 模式 2 - 路由器. urls 作为列表,urlpatterns+=router.urls
      9. 默认路由器和Simplé路由器之间的区别是,它们提供相同的服务。
      router=routers.SimpleRouter()
      router=routers.DefaultRouter()
      唯一的区别是默认路由自动生成根路径( 表示数据访问) 。

      第2点:默认情况下,路由器对象只为通用操作创建路径条目(创建、列表、检索、更新和删除)。自定义操作方法不自动生成路径条目 。如果您想要解决这个问题, 您必须首先找到动作设计师 。

      使用自定义动作方法, 使用装饰符自动构建路径条目 。

      1. 如果需要一个路由器机制自动生成路由条目,则必须使用行动装饰器。
      2. 方法定义将查找的请求方法。如果不是,默认值为Get。
      3. 详细确定接口是否详细,是否必须发送当前模型的 Pk 值。
      如果您需要通过当前模型的 pk, 细节=True; 否则, 细节=False 。

      针对上述请购1:检索项目信息;不论页数,仅导出对象的代号和名称。

      定义视图类

      访问接口
      在这里插入图片描述

      针对上述要求2:获得所有项目接口细节。

      访问接口
      在这里插入图片描述

      在设计器中输入 url_path 和 url_name 参数的信号

      4, URl_ path 指定了 URL 路径, 默认为动作方法名称, 通常不需要指定 。
      5, URL_ name 定义URL 路径元素的后缀, 默认为动作方法名称, 通常不需要 。

      在这里插入图片描述
      访问接口的网址:http://ww.8 00/projects/xx

      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25395.html

          热门文章

          文章分类