首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

drf接口文档生成与管理

2.5 补充说明 1、上面访问到接口文档,可以按照右边指引通过安装coreapi-cli,通过命令行操作访问接口文档 2、对于视图集ViewSetretrieve名称,接口文档叫做read...3.1 Swagger介绍 Swagger是一个规范和完整框架,用于生成、描述、调用和可视化RESTful风格Web服务。... 下面记录在drf通过swagger生成接口文档具体实现流程,参考drf swagger文档 3.2 安装django-rest-swagger库 pip3 install django-rest-swagger...2.0规范API文档自动化生成工具,能够生成比原生swagger更为友好API文档界面 目前兼容性如下 Django Rest Framework: 3.10, 3.11, 3.12 Django...4.6.4 校验文档有效性 为保证自动生成文档有效性, 可以通过get_schema_view设置 validators 参数开启校验自动化生成文档是否符合OpenAPI2.0规范功能 4.6.5

4.6K10

【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集

前言 使用视图集ViewSet,可以将一系列逻辑相关动作放到一个类: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据...视图集只使用as_view()方法时候,才会将action动作与具体请求方式对应上。...ViewSet,没有提供任何动作action方法,需要我们自己实现action方法。...GenericViewSet就帮助我们完成了这样继承工作,继承自GenericAPIView与ViewSetMixin,实现了调用as_view()时传入字典(如{‘get’:‘list’})映射处理工作同时...,我们还可以通过重写get_serializer或者get_queryset对 同一个类指定视图采用不同queryset或者不同序列化器 """ def get_queryset

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Rest_framework Route

目录 Rest_framework Router 路由器 ViewSet结合Router,自动生成url。...SimpleRouter类源码 总结 Rest_framework Router 路由器 虽说django rest_framework是基于djangourl路由到视图主要还是利用django...dispatcher路由系统(可以参考我另一篇关于django url dispatcher详解),但是rest_framework还在django路由基础上,提供了基于restful风格更高等级路由方式...所以对于单资源和资源集都有相对固定操作模式url风格模式,所以抽象出来这样一种结合两种路由一条龙模式:Router 路由器,单资源url与资源集合urlpattern及其对应http method...将VIewSet注册到Router后,就可通过Router.urls获取自动生成url列表。 具体自动生成urls原理,见下面源码解析。

1.1K10

Django进阶:DRF(Django REST framework)

Django,我们通过model-view-template实现了后端和前端通信。但前端未必是用Djangotemplate实现,也可以用单独前端框架(如vue)实现。...“Django REST 框架”这个名字是 2011 年初决定,选择它只是为了确保开发人员很容易找到这个项目。整个文档,我们尝试使用更简单、技术上正确术语“Web API”。...settings.pyINSTALLED_APPS添加rest_framework: INSTALLED_APPS = [ ......3.配置url tutorial/urls.py: from django.urls import include, path from rest_framework import routers...', namespace='rest_framework')) ] 因为我们使用ViewSet而不是view,所以我们可以通过简单地将ViewSet注册到Router来自动生成API URL conf

51220

【愚公系列】2022年04月 Python教学课程 71-DRF框架之内置路由

[官方文档也叫action,动作]之间对应关系外,还可以使用Routers来帮助我们自动生成路由信息。...viewset- 视图集类。 (可选)您还可以指定一个附加参数: basename- 用于所创建 URL名称基础。如果未设置,则将根据视图集属性(如果有)自动生成基名。...将生成以下路由: 网址模式:^users/{pk}/set_password/$ 网址名称:'user-set-password' 默认情况下,URL 模式基于方法名称,URL 名称是方法名称和带连字符方法名称组合...上面的示例现在将生成以下 URL 模式: 网址路径:^users/{pk}/change-password/$ 网址名称:'user-change_password' 注意点: 默认情况下,创建 URL...例如: router = SimpleRouter(trailing_slash=False) 尾随斜杠 Django 是约定俗成,但在其他一些框架(如 Rails)默认不使用。

92720

测试开发进阶(二十九)

方法 两个类视图所对应url地址不一致 再次优化 优化思路:使用动作来触发,而不是请求方法 from rest_framework import viewsets viewsets不再支持 get/post... View DRF APIView GenericAPIView mixins扩展类 CreateAPIView(合并拓展类) 视图集 action和请求方法映射 ViewSet GenericViewSet...第二个参数viewset为视图集「不要加as_view」 将自动生成路由添加到列表 from django.urls import path, includefrom projects import...)urlpatterns = [ # 将自动生成路由添加到列表 path('',include(router.urls))] action 自定义action from rest_framework.decorators...参数用于指定该动作支持请求方法,默认为get detail用于指定该动作要处理是否为详情资源对象「url是否需要传递pk值」 url.py添加 path('project/names/', views.ProjectsViewSet.as_view

64010

第 5 篇:用视图集,简化你代码

作者:HelloGitHub-追梦人物[1] 文中所涉及示例代码,已同步更新到 HelloGitHub-Team 仓库[2] RESTful 架构,对资源常规操作无非就是查询、新增、修改、删除等这么几种...使用视图集一个更大好处,就是可以配合 django-rest-framework 提供路由器(router),自动生成 API URL,不需要我们再手工将 URL 模式和视图函数绑定了。...django-rest-framework 提供了资源操作 5 个混入类,分别对应资源创建、查询、更新、删除。...事实上,使用路由器自动生成 URL 模式时,路由器内部就是采用了和上面手工生成视图函数并绑定 URL 一样方式。...第二个参数就是视图集,第三个参数 basename 用于指定视图集生成视图函数名前缀。 django URL ,一条路由通常由 URL 模式,对应视图函数和视图函数名组成。

80310

DRF终极封装ViewSet和Router附教程PDF源码

DRF官方教程学习过程,一个很明显感受是框架在不断地进行封装,我们自己写框架/工具/脚本/平台也可以模仿模仿,先完成底层代码,再做多层封装,让使用者很容易就上手操作。...,默认为GET请求,如果想改为POST请求,可以添加参数methods,它源码如下: def action(methods=None, detail=None, url_path=None, url_name...Routers 使用ViewSet一大好处是可以自动配置路由,DRF提供了rest_framework.routers: ?...我们重新编写snippets/urls.py看看是什么效果: from django.urls import path, include from rest_framework.routers import...而且DefaultRouter提供了API根目录Endpoint,我们甚至可以把views.pyapi_root也删了。

83920

第 16 篇:别再手动管理接口文档了

这样做虽然简单,但弊端也很明显:一是需要写大量描述文字,非常枯燥,但其实这些信息代码已有体现,有点像是使用自然语言又把代码写了一遍;二是一旦接口有了更新,就必须手动同步更新接口文档,开发人员很容易搞忘这件事...因为很多接口信息其实在代码已有体现,人们自然而然就想到能否直接从写好代码自动提取相关信息来生成文档,这样改了代码,接口文档也会自动更新,上面说两个问题就都可以解决了。...drf-yasg drf-yasg[5] 是一个 django 第三方应用,它可以从 django-rest-framework 框架编写代码自动提取接口信息来生成符合 OpenAPI 标准文档...=(permissions.AllowAny,), ) urlpatterns = [ # 其它已注册 URL 模式...因为 PostSearchView 继承自 HaystackViewSet,代码并没有显示地定义 retrieve 这个方法,而是从父类继承而来,所以我们借助 django 提供辅助函数 method_decorator

1.8K20

Django+Vue开发生鲜电商平台之1.项目介绍

: 通用view实现rest api接口 ApiView方式实现api GenericView方式实现api接口 Viewset和router方式实现api接口和url配置 django_filter...API文档管理问题 大量url配置造成url配置越来越多难以维护 接口不及时去更新文档对方不知道如何去测试接口,但写文档会花费大量时间去维护 为了防止爬虫,可能需要针对api访问频率进行限制,比如一分钟...bug; 通过docker搭建sentry来体验错误日志监控系统,让我们不仅可以得到线上错误栈还能及时发生系统错误时收到邮件通知; django rest framework文档自动化管理以及url...测试代码; django rest framework提供throttle来对api进行访问频率限制; 引入第三方框架来设置某些api缓存。...来吧,伙伴们,让我们一起徜徉项目开发浩瀚海洋吧。

2.5K31

Python3+ Django3:自动生成Swagger接口文档

实际工作,经常会遇到:“前端抱怨后端给接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新”。...为了解决这个问题,业界推出了一个Swagger框架来管理接口文档,实现接口文档自动更新。 采用Swagger框架来管理接口文档,常用于微服务架构设计或者Java后端服务工程。...接下来,本篇文章,介绍就是基于Python3+Django3下,如何接入Swagger框架,并且实现Swagger接口文档自动生成。 2....django 3.0已经不支持该库了,取而代之是全新第三方drf-yasg库。...GitHub地址: https://github.com/marcgibbons/django-rest-swagger 所以本文也是基于drf-yasg库来实现在Django3接入Swagger框架

15K32

DRF 视图组件

action属性 DRF 视图组件 DRF框架提供了很多通用视图基类与扩展类,上篇使用APIView是比较偏Base,视图使用更加简化了代码,这里介绍一下其他视图用法 Django...ViewSet,没有提供任何动作action方法,需要我们自己实现action方法。...,可以通过组合继承,以前写法可以继续使用,但是如果要自动生成路由必须得继承ViewSetMixin及其子类;或者选择继承ViewSet、GenericViewSet class ViewSetMixin...重写' .as_view() ',以便它接受一个' actions '关键字执行 将HTTP方法绑定到资源上动作。...个学生信息""" # 操作数据库 print(self.action) # 获取本次请求视图方法名 通过路由访问到当前方法.可以看到本次

90110

Django-rest-framework 是个什么鬼?

事实上,的确能够 django 返回 JSON 或者 XML 格式数据,但是 django 框架本身只提供了十分基础功能。...之前说过, RESFful 架构系统,资源以某种描述形式客户端和服务器之间传递,django-rest-framework 根据客户端能够接受资源格式,自动使用合适资源描述工具,返回客户端可接受资源...django-rest-framework 根据编写视图函数,自动生成符合 RESTful 设计 URL 路由。 文档(Documentation)。...django-rest-framework 基于 OpenAPI 模式自动生成 API 文档,无需我们手动编写和维护。...接下来实战教程,我们会逐一学习并使用它们。 让我们正式开启 django-rest-framework 学习之旅吧!

98230

Django REST Framework-路由器(一)

Django REST Framework(以下简称DRF)是基于Django框架构建Web API框架。...DRF,路由器(Router)是一个非常有用工具,可以帮助我们轻松地定义API路由,实现快速、可维护API开发。一、路由器作用在DRF,路由器主要作用是将URL和视图函数绑定在一起。...路由器可以根据视图函数名称和参数,自动生成URL,并将请求分发到对应视图函数。使用路由器可以避免手动编写URL配置繁琐和容易出错。二、路由器使用安装DRF使用路由器之前,需要先安装DRF。...(1)基于视图集DRF,视图集是一组视图函数集合,可以实现类似于CRUD操作。...)),]这个例子,我们将路由器URL添加到了Django根URLconf

68041
领券