drf 中集成swgger api功能文档
- Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
- Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
- Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
- Swagger 有一个强大的社区,里面有许多强悍的贡献者。
1,安装swgger:
pip install django-rest-swagger
并在settings.py 中 注册,并配置样式:
#settings.py
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 加入以下 'api', 'rest_framework', 'rest_framework_swagger', #注册 ] # swagger 配置项 SWAGGER_SETTINGS = { # 基础样式 'SECURITY_DEFINITIONS': { "basic":{ 'type': 'basic' } },
} # 如果需要登录才能够查看接口文档, 登录的链接使用restframework自带的.
LOGIN_URL = '/api-auth/login/' # 关联到drf 默认的登录路由
LOGOUT_URL = '/api-auth/logout/'
2,在项目的根路由(urls.py)
# 重要的是如下三行 from rest_framework.schemas import get_schema_view from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer schema_view = get_schema_view(title='Users API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer]) urlpatterns = [ # swagger接口文档路由 path(r'^docs/', schema_view, name="docs"), path(r'^admin/', admin.site.urls),# drf登录 path(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework')) ]
3,结束!