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
文件,但是我的Django
settings.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来检索我的架构。谢谢