Python 在drf设置中传递招摇UI url
我有一个用Python 在drf设置中传递招摇UI url,python,django,drf-spectacular,Python,Django,Drf Spectacular,我有一个用Django 2.x编写的项目。我想用drf自动添加文档。目前我使用的是drf=0.15.1 我正在Docker中运行我的项目,api容器的构建上下文被设置为api项目的根文件夹 当我运行命令生成模式时,/manage.py--file schema.yml,脚本在我的api项目的根目录中创建了一个schema.yml文件,但是我的Djangosettings.py位于下面一个级别,在一个名为myu-website的文件夹中。项目结构如下: main-project \api \_m
Django 2.x编写的项目。
我想用drf自动添加文档。目前我使用的是drf=0.15.1
我正在Docker中运行我的项目,api容器的构建上下文被设置为api项目的根文件夹
当我运行命令生成模式时,/manage.py--file schema.yml
,脚本在我的api项目的根目录中创建了一个schema.yml
文件,但是我的Djangosettings.py
位于下面一个级别,在一个名为myu-website
的文件夹中。项目结构如下:
main-project
\api
\_my_website
__init__.py
apps.py
settings.py
urls.py
schema.yml
\client
docker-compose.yml
因此,在settings.py
中,我添加了特定的设置,告诉Swagger UI从何处获取模式,如drf
文档中所述:
SPECTACULAR_SETTINGS = {
'SWAGGER_UI_SETTINGS': {
'url': 'schema.yml'
},
}
一旦我尝试访问我的项目中的swagger ui url以检查是否在那里加载了架构,我就会得到错误:**Fetch error**Not Found schema.yml
。我尝试以各种方式传递模式url,例如通过相对url。/schema.yml
,但这也不起作用。也许有人能告诉我我做错了什么
谢谢 从
url
:指向API定义的url(通常为swagger.json
或swagger.yaml
)
因此,url
值必须是“相对url”或“绝对url”
比如说
SPECTACULAR_SETTINGS = {
'SWAGGER_UI_SETTINGS': {
'url': 'https://example.com/path/to/schema/', # absolute path
'url': '/path/to/schema/', # relative path
},
}
在不太了解Swagger UI的情况下,我敢打赌这是一个url,而不是一个文件引用,它是通过http获取的。Django或docker设置中负责此文件的任何人是否提供此文件?是的,这也是我在设置文件中所做的,我没有意识到在url.py中配置url后,我必须使用已在那里设置的url来检索我的架构。谢谢