drf-yasg官方文档
如果你想为一个新项目添加Swagger/OpenAPI支持,你可能想看看drf-spectacular,这是一个积极维护的新库, 共享该项目的大部分目标,同时使用 OpenAPI 3.0 模式。
OpenAPI 3.0 在可以描述的 API 类型方面提供了比 2.0 更大的灵活性。 不太可能很快(如果有的话)获得对OpenAPI 3.0的支持。drf-yasg
一. 安装
pip install -U drf-yasg
此外,如果要使用内置验证机制(请参阅 4.验证),您需要安装 一些额外的要求:
pip install -U drf-yasg[validation]
二. 配置
在: settings.py
INSTALLED_APPS = [
...
'django.contrib.staticfiles', # 必须的css/js文件
'drf_yasg',
...
]
在:urls.py
...
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="Snippets API",
default_version='v1',
description="Test description",
terms_of_service="https://www.google.com/policies/terms/",
contact=openapi.Contact(email="contact@snippets.local"),
license=openapi.License(name="BSD License"),
),
public=True,
permission_classes=[permissions.AllowAny],
)
urlpatterns = [
re_path(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
...
]