问题标签 [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 投票
1 回答
1131 浏览

django - Swagger Django [规范中未定义操作]

我一直在尝试将 Swagger 与 Django Application 集成并遇到此错误:规范中未定义操作!

我的项目结构是

我将 drf_yasg 用于我的目的。我已经在 settings.py 和 App2 中包含了所有详细信息,我在 urls.py 中有这个:

我的类视图(例如(class Att(generic.TemplateView)和方法在App下的views.py中声明。我尝试了@swagger_auto_schema,@api_view等方法来在文档中显示应用程序类和函数。但它只返回No规范中定义的操作!。

我也尝试使用路由器来注册视图,但没有成功,甚至 django-rest-swagger 也失败了。任何帮助表示赞赏。谢谢!

0 投票
1 回答
693 浏览

python - drf_yasg AttributeError:“函数”对象没有属性“with_ui”

尝试根据他们的文档使用drf_yasg记录 API,但我收到此错误“AttributeError:'function' object has no attribute 'with_ui'” 这是我在 urls.py中的代码

0 投票
1 回答
583 浏览

python - 将多个 swagger 文档(来自不同应用程序)合并到一个 swagger 仪表板 [drf_yasg]

如果我有 5 个应用程序(django)和各自的 swagger 文档,是否可以将所有 swagger 文档合并为一个 swagger 文档。我正在使用 django 休息框架。

0 投票
1 回答
5474 浏览

django - drf-yasg 如何使用 api 显示示例响应?

如何使用drf-yasg包将示例响应(openapi doc)添加到我的 swagger 文档中?

0 投票
1 回答
1190 浏览

django - 如何在 drf_yasg 中标记整个 ViewSet?

我有以下视图集:

我想drf_yasg生成自定义模式,以便将所有操作方法标记为Authors.

文档说我的选择是通过声明和使用来装饰每个方法,@swagger_auto_schema如下所示:

或者像这样使用Django @method_decorator

这两种选择都需要繁琐的重复,我想避免这种情况。

我也尝试实现自己的装饰器:

但这并不完全奏效。

所以我的问题是如何一次装饰所有的动作方法?

0 投票
2 回答
3696 浏览

django-rest-framework - drf_yasg 文档参数未显示

我正在使用 drf_yasg 对我的 API 进行自我记录,该 API 是使用 django-framework 构建的,但是对于任何端点都没有显示任何参数。我这样做的方式是以 JSON 格式在 http 请求正文中传递参数。然后我从 request.data 中读取参数。下面是其中一个视图的示例,其中将“id”作为请求正文中的参数。

这将显示在 swagger 文档中,如下所示:

大摇大摆的输出

我一直在查看文档,它建议我可能需要添加带有手动参数的装饰器,但我无法弄清楚我会如何做到这一点,因为我可以找到的示例是获取查询参数或路径参数。我在下面添加了装饰器,它可以响应文档。

请求正文的一个示例是:

更新:

我似乎得到了以下装饰器的东西:

这记录了参数。现在我为另一个端点所拥有的是它需要以下 JSON 作为输入,我将如何添加它?

0 投票
1 回答
608 浏览

python - 返回了一个模板响应,没有在视图或响应上设置“template_name”属性(drf-yasg2)

我按照 drf-yasg2 的文档设置了所有内容,但我收到了这个错误,我找不到导致它的原因。我浏览了文档,从那里没有什么可以使用的。看起来每个响应都回退到TemplateHTMLRenderer,而不是使用 drf-yasg2 ReDoc 或 SwaggerUI 渲染器。

此条件永远不会返回false

因为来自djangorestgramework (response.py) 的 Response 类使用self.data而不是作为参数呈现的调用此方法:

我不知道我在这里做错了什么。

在我的项目中,我使用:

  • drf-yasg2==1.18.5
  • djangorestframework==3.8.0
  • Django==2.0.1

网址.py

settings.py -> INSTALLED_APPS

错误

0 投票
1 回答
2473 浏览

python - 如何使用另一个 swagger 文档扩展 FastAPI 文档?

我决定在 Python 的 FastApi 框架中做一个微服务网关。我的授权服务是用 Django 编写的,并且已经由drf-yasg包 swagger docs 生成。我在想是否有办法以某种方式将身份验证的模式导入网关。我可以json通过 http 以格式提供模式并从网关访问它。问题是如何将 FastApi 的文档与原始的 swagger 模式文件集成。

0 投票
1 回答
1959 浏览

django - drf-spectacular 使用错误的 AutoSchema 生成 Swagger

以前我正在使用drf-yasg但想更新以使用 OpenAPI 3。我正在尝试切换到drf-spectacular. 按照说明运行pip install drf-spectacular,我删除了对drf-yasg包的所有引用,并更新Settings.py如下:

当我使用 CLI 生成架构时,我得到了以下信息AssertionError。如果有人以前遇到过这个问题并有任何见解,将不胜感激!

我正在使用 Python 3.7、Django 3.0、Django Rest Framework 3.11 和 DRF Spectacular 0.10.0。

0 投票
3 回答
1559 浏览

nginx - drf_yasg swagger 中的 base_url 问题

我在8000端口使用 Nginx 运行 Django。这里 Nginx 暴露在 8000 端口之外。但在 Swagger UI 中,base_url设置为没有端口。所以 Swagger 试图在没有端口的情况下访问端点,然后它给出一个响应TypeError: Failed to fetch

请参考下图了解如何设置 base_url 在此处输入图像描述

请参考下图了解如何从 Swagger 发送请求 在此处输入图像描述

当我使用 Postman 访问端点(带端口)时,它工作正常。仅当我尝试使用 Swagger 时才会出现此问题(因为发送的请求没有端口)。

在这里,我希望 Swagger 使用端口发送所有请求。请帮我解决这个问题。谢谢。

笔记:

  1. 我正在使用drf-yasg==1.17.1包来生成Swagger UI
  2. 其他要求是Django==3.0.3djangorestframework==3.11.0