问题标签 [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.
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 也失败了。任何帮助表示赞赏。谢谢!
python - drf_yasg AttributeError:“函数”对象没有属性“with_ui”
尝试根据他们的文档使用drf_yasg记录 API,但我收到此错误“AttributeError:'function' object has no attribute 'with_ui'” 这是我在 urls.py中的代码
python - 将多个 swagger 文档(来自不同应用程序)合并到一个 swagger 仪表板 [drf_yasg]
如果我有 5 个应用程序(django)和各自的 swagger 文档,是否可以将所有 swagger 文档合并为一个 swagger 文档。我正在使用 django 休息框架。
django - drf-yasg 如何使用 api 显示示例响应?
如何使用drf-yasg包将示例响应(openapi doc)添加到我的 swagger 文档中?
django - 如何在 drf_yasg 中标记整个 ViewSet?
我有以下视图集:
我想drf_yasg
生成自定义模式,以便将所有操作方法标记为Authors
.
文档说我的选择是通过声明和使用来装饰每个方法,@swagger_auto_schema
如下所示:
或者像这样使用Django @method_decorator
:
这两种选择都需要繁琐的重复,我想避免这种情况。
我也尝试实现自己的装饰器:
但这并不完全奏效。
所以我的问题是如何一次装饰所有的动作方法?
django-rest-framework - drf_yasg 文档参数未显示
我正在使用 drf_yasg 对我的 API 进行自我记录,该 API 是使用 django-framework 构建的,但是对于任何端点都没有显示任何参数。我这样做的方式是以 JSON 格式在 http 请求正文中传递参数。然后我从 request.data 中读取参数。下面是其中一个视图的示例,其中将“id”作为请求正文中的参数。
这将显示在 swagger 文档中,如下所示:
我一直在查看文档,它建议我可能需要添加带有手动参数的装饰器,但我无法弄清楚我会如何做到这一点,因为我可以找到的示例是获取查询参数或路径参数。我在下面添加了装饰器,它可以响应文档。
请求正文的一个示例是:
更新:
我似乎得到了以下装饰器的东西:
这记录了参数。现在我为另一个端点所拥有的是它需要以下 JSON 作为输入,我将如何添加它?
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
错误
python - 如何使用另一个 swagger 文档扩展 FastAPI 文档?
我决定在 Python 的 FastApi 框架中做一个微服务网关。我的授权服务是用 Django 编写的,并且已经由drf-yasg
包 swagger docs 生成。我在想是否有办法以某种方式将身份验证的模式导入网关。我可以json
通过 http 以格式提供模式并从网关访问它。问题是如何将 FastApi 的文档与原始的 swagger 模式文件集成。
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。
nginx - drf_yasg swagger 中的 base_url 问题
我在8000端口使用 Nginx 运行 Django。这里 Nginx 暴露在 8000 端口之外。但在 Swagger UI 中,base_url设置为没有端口。所以 Swagger 试图在没有端口的情况下访问端点,然后它给出一个响应TypeError: Failed to fetch。
当我使用 Postman 访问端点(带端口)时,它工作正常。仅当我尝试使用 Swagger 时才会出现此问题(因为发送的请求没有端口)。
在这里,我希望 Swagger 使用端口发送所有请求。请帮我解决这个问题。谢谢。
笔记:
- 我正在使用drf-yasg==1.17.1包来生成Swagger UI
- 其他要求是Django==3.0.3和djangorestframework==3.11.0