我无法访问 Swagger;当我运行服务器时,它显示“当前路径,swagger/,与其中任何一个都不匹配”

问题描述 投票:0回答:1

Error image 我想在我的项目中配置 swagger,但是。当我尝试运行时,它会抛出错误,并且我已经正确配置了 urls.py 中的所有内容,文件如互联网教程中所示,但不知道为什么我得到的当前路径与任何内容都不匹配这个。

django django-rest-framework swagger-ui swagger-2.0 drf-yasg
1个回答
0
投票

您可以使用 drf-yasg(又一个 Swagger 生成器),它是 Django Rest Framework (DRF) 扩展,可为您的 API 生成 Swagger/OpenAPI 文档。

1:您可以使用pip安装它:

pip install drf-yasg

2:将 drf_yasg 添加到您的 INSTALLED_APPS

INSTALLED_APPS = [
# ...
'drf_yasg',

]

3:将 drf_yasg 命名空间添加到您的主 urls.py

from django.conf.urls import url
from django.contrib import admin
from django.urls import path, re_path, include
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi

schema_view = get_schema_view(
    openapi.Info(
        title="Your API",
        default_version='v1',
        description="Your API description",
        terms_of_service="https://www.yourapp.com/terms/",
        contact=openapi.Contact(email="[email protected]"),
        license=openapi.License(name="Your License"),
    ),
    public=True,
    permission_classes=(permissions.AllowAny,),
)

urlpatterns = [
    # ...
   
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

4:启动 Django 开发服务器:

python manage.py runserver

在浏览器中访问 http://localhost:8000/swagger/ 或 http://localhost:8000/redoc/ 分别访问 Swagger 或 ReDoc 文档。

参考:https://drf-yasg.readthedocs.io/en/stable/

© www.soinside.com 2019 - 2024. All rights reserved.