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,结束!

原文地址:https://www.cnblogs.com/noteaddr/p/12971759.html