Django:Swagger文档的配置

news/2024/11/16 18:39:56/文章来源:https://www.cnblogs.com/Durant0420/p/18377185

前言

第三方库drf-yasg(Django Rest Swagger)。它是一个为Django Rest Framework提供Swagger/OpenAPI规范支持的库。按照以下步骤进行操作:

安装

pip install drf-yasg -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

配置

1、在项目的settings.py

INSTALLED_APPS = [...'drf_yasg',...
]

2、在项目的urls.py

低于Django 3.1版本

from django.conf.urls import url
from django.urls import include
from drf_yasg import openapi
from drf_yasg.views import get_schema_view# 配置Swagger文档
schema_view = get_schema_view(openapi.Info(title="API文档",default_version='v1',description="API文档描述",terms_of_service="https://www.example.com/terms/",contact=openapi.Contact(email="contact@example.com"),license=openapi.License(name="BSD License"),),public=True,
)# Swagger文档路由
urlpatterns = [...url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),...
]

 

Django 3.1版本及更高版本

from django.urls import re_path
from django.urls import include
from drf_yasg import openapi
from drf_yasg.views import get_schema_view# 配置Swagger文档
schema_view = get_schema_view(openapi.Info(title="API文档",default_version='v1',description="API文档描述",terms_of_service="https://www.example.com/terms/",contact=openapi.Contact(email="contact@example.com"),license=openapi.License(name="BSD License"),),public=True,
)# Swagger文档路由
urlpatterns = [...re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),...
]

启动项目并查看效果

访问http://localhost:8000/swagger/,您将能够看到自动生成的Swagger文档

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786315.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REST framework:过滤

一、数据准备 模型类class UserInfo(models.Model):name = models.CharField(max_length=20, verbose_name=用户名)pwd = models.CharField(max_length=18, verbose_name=密码)email = models.EmailField(max_length=40, verbose_name=邮箱)age = models.IntegerField(verbose_…

[消息队列]kafka

Kafka 如何保证消息的消费顺序? 我们在使用消息队列的过程中经常有业务场景需要严格保证消息的消费顺序,比如我们同时发了 2 个消息,这 2 个消息对应的操作分别对应的数据库操作是: 更改用户会员等级。 根据会员等级计算订单价格。 假如这两条消息的消费顺序不一样造成的最…

Miller-Rabin 与 Pollard-Rho

1 Miller-Rabin 算法 1.1 引入 Miller-Rabin 的主要作用就是判断一个较大的数是不是质数。 那么根据基础数论中提到过的试除法,我们知道朴素去判断一个数是否是质数的复杂度是 \(O(\sqrt n)\) 的,在 \(n\ge 10^{18}\) 的时候就十分不优了。 而 Miller-Rabin 则是基于费马小定…

深痛教训 2024.8.23

strlen 这种东西千万不要重复调用多次,不然会 T 飞。 单次复杂度是 \(O(len)\) 的,调用 \(n\) 次直接卡成 \(n^2\) 了。 死亡回放:评测机波动抽象,以上全是同一份代码,死因为 strlen。

ST 表

ST 表 ST 表,主要思想是空间换时间,用于解决可重复贡献问题和 RMQ 问题。 可重复贡献问题 指某个运算 \(op\),有 \(x\ op\ x\ =\ x\) 。例如 \(max(x,x)=x\ \ min(x,x)=x\ \ gcd(x,x)=x\)。 RMQ 问题 指在区间内的最大/最小值查询。 ST 表 ST 表基于倍增的思想,做到 \(O(n …

Note - kruskal 重构树

点权多叉重构树 Kruskal 重构树不仅适用于限制边权的题目,也可以处理限制点权的情况。 在某 多校冲刺 NOIP 联训测试 2021 和 CF1797F 出现了这种方法。Alex_wei的博客 进行了详细讲解。 \(Problem1.\) 「NOIP 多校联训 2021」超级加倍参考资料Alex_wei本文来自博客园,作者:…

[ARC177F] Two Airlines

DP 优化My Blogs [ARC177F] Two Airlines 有点魔怔的题。 一个基本的观察是如果当前某个人 \(A\) 拿着盒子走到了位置 \(i\),那位置小于 \(i\) 的人一定永远没用了。如果之后要用到前面的人 \(B\),就应当让 \(B\) 拿着盒子走到 \(i\) 而不是让 \(A\),这样 \(A\) 待在原来的位…

helm原理及实践

目录为什么用HelmHelm是什么简介设计目标架构核心概念如何使用客户端命令使用 为什么用Helm 它使Kubernetes应用程序的配置、部署和维护变得更加简单、可控和可重复。优势 描述模板化配置 Helm 将应用程序的配置参数化,并使用模板引擎将这些参数嵌入到配置文件中。这使得配置更…

SAP S4HANA 2023 FPS01 FAA虚拟机发布了

SAP S4HANA 2023 FPS01 FAA虚拟机发布了。 系统不再需要修改虚拟机日期了,提供最高长达三年的许可,业务财务做账都是真实的时间!该虚拟机版本优点: 新版的一键启动脚本,3分钟就能启动完成。内存加载 80GB 就可以启动所有服务。不需要修改虚拟机日期,完美支持业务操作和财…

k8s介绍-英文版

目录WhyWhatSynopsisDesign GoalsArchitectureimage1image2image3Main ComponetsCore Resoucessome core resoucesrelated cmdsHowImplementation MechanismData Flow Why We need a set of tools and technologies designed to efficiently deploy, manage, and orchestrate c…

线段树(2)——懒惰标记Lazy Tag(单运算)及例题

上一篇文章我们讲了线段树的最基本的操作。如果有一种操作叫做区间加法呢?这个时候显然可以依次单点修改,但是时间复杂度太高了。所以可以考虑优化,由于思考过程可能很长,此处直接引入懒惰标记。 懒惰标记就是在对一颗树的所有节点进行某种统一操作时,只对根节点做一个标记…

Python保存数据为xlsx格式

参考代码 运行下面的代码,首先要安装下面这两个库:pandas openpyxlimport pandas as pd processed_data = [{"日期":"20230809","品牌":"Apple"},{"日期":"20230422","品牌":"Huawei"}, ] …