问题标签 [drf-yasg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3015 浏览

django - 尝试在浏览器中访问 swagger api 时如何禁用“Django 登录”页面?

尝试访问生成的 swagger 文档时,我得到一个只有“Django 登录”链接的空白页面。我正在使用 drf_yasg 库来呈现 swagger 文档。

生成 swagger 文档的代码类似于 swagger 文档中提到的代码。

0 投票
1 回答
894 浏览

django - DRF - 在动作响应中将自定义数据添加到序列化程序

我有一个自定义操作,它获取输入并应返回分配的 cidr 对象列表。

我的序列化器看起来像这样

但是,我还没有弄清楚如何在响应中包含分配。序列化程序不需要将它们持久化到数据库中,只需要使用序列化程序自动生成 openapi 模式即可。

0 投票
1 回答
590 浏览

django - drf-yasg 自定义 SwaggerUIRenderer

我想自定义 drf_yasg 生成的文档的样式(字体、颜色、徽标等)。

我看到我可以drf_yasg/swagger-ui.html使用块extra_headextra_stylesextra_body、进行扩展,extra_scripts如果需要,甚至可以覆盖其他块。

我不清楚的是我如何指向我的扩展模板swagger-ui.html

我从

我想SwaggerUIRendererMyCustomSwaggerUIRendererin替换,get_schema_view但不明白如何/在哪里做它而不明确地尝试枚举在某些子类中也需要的所有其他渲染器rest_framework.views.APIView,这似乎很复杂。

对文档或示例的指针表示赞赏。我已经阅读了https://drf-yasg.readthedocs.io/没有成功。

0 投票
2 回答
4731 浏览

python - Django,drf-yasg - 如何向标签添加描述?

Swagger 文档说你可以这样做:

https://swagger.io/docs/specification/grouping-operations-with-tags/

但不幸的是 drf-yasg 没有实现这个功能:

https://github.com/axnsan12/drf-yasg/issues/454

据说,我可以添加自定义生成器类,但这是一个非常笼统的答案。现在我看到它drf_yasg.openapi.Swaggerinfo阻塞了,我有想法,这可能是将全局tags部分作为额外的 init 参数的正确位置,但它比自定义生成器类更深,我对此模块缺乏了解

有没有人有这个特定问题的解决方案,或者至少可能是某种教程的链接,如何正确自定义生成器类?

0 投票
1 回答
294 浏览

django-rest-framework - drf_yasg 和 amazon api 网关返回 json 而不是 html ui

我已经使用 djangorestframework 设置了我的 python api 服务,并且我正在使用 drf_yasg 为我的 api 显示 swagger 文档。

这是设置的概览:

接下来,我使用 amazon ec2 和其他东西设置了这个 api,并且我正在使用 Amazon API Gateway 从容器中访问 api。

API 网关设置

现在的问题是,当我尝试使用 api 网关域访问它时,它返回的是swagger JSON而不是 HTML。我尝试了几种方法,例如Content-Type在方法响应和集成响应中设置映射,但没有任何效果。

在我的本地机器上,它按预期显示 html,所以我怀疑问题出在我的网关设置中。

如果有人可以提供帮助,我将不胜感激!

0 投票
1 回答
939 浏览

django - 当我点击 /swagger url 时出现“AssertionError:找到重复的参数”

我正在我的项目中使用drf-yasg为 django rest 框架 API 实现 swagger。

我遵循 drf-yasg 的快速入门部分。当我点击 /swagger 时得到 AssertionError: duplicate Parameters found。下面是我的代码和回溯。

网址.py

追溯

0 投票
2 回答
4492 浏览

django - drf-yasg:如何隐藏 Django rest 框架模式?

我将drf_yasg swagger用于我的 Django API。我想知道如何轻松禁用模式和模型。 截屏

这是我的代码:

如果我添加这个

我得到了错误:

代码编辑:文章功能非常简单,与 API 无关,只有 Python 代码。

这里的views 类也很简单。

类视图:

0 投票
1 回答
2489 浏览

parameters - drf-yasg swagger 设置参数 IN_BODY 不起作用

当我指定in_=openapi.IN_FORM并且parser_classes = (FormParser,)swaager首页工作时,但如果我修改in_=openapi.IN_BODY,则会出现如下错误:

有没有人可以给我一个关于在 drf-yasg 上设置应用程序/json 参数的示例?

0 投票
1 回答
2140 浏览

django - drf-yasg 自定义 json 正文

如何在基于类的 django 视图中自定义 drf-yasg 模式?

我尝试了这部分代码,但生成的招摇不尊重更改。

0 投票
1 回答
899 浏览

python - 在 drf-yasg 中设置自定义 basePath

我正在使用drf-yasg来记录我的 API,并且我有以下设置,

注意:public_schema_view分别从模块和private_schema_view中重新生成了两组不同的 URL 。public_apis.urlsprivate_apis.urls

这里我想要两个basePaths,

  1. /api/v1/public/对于public_schema_view
  2. /api/v1/private/为了private_schema_view

所以,问题是,如何在drf-yasg中设置多个自定义?basePath