Django swagger接口文档

安装

pip install django-rest-swagger

github 地址: https://github.com/marcgibbons/django-rest-swagger

文档地址: https://marcgibbons.com/django-rest-swagger/settings/

django settings

加入

INSTALLED_APPS = [
    ...
    'rest_framework_swagger',
    ...
]

swagger 配置项

SWAGGER_SETTINGS = {
    
    
    # 基础样式
    'SECURITY_DEFINITIONS': {
    
    
        "basic":{
    
    
            'type': 'basic'
        }
    },
    # 如果需要登录才能够查看接口文档, 登录的链接使用restframework自带的.
    'LOGIN_URL': 'rest_framework:login',  # todo 使用rest的登录页,不然没地方登录
    'LOGOUT_URL': 'rest_framework:logout',
    # 'DOC_EXPANSION': None,
    # 'SHOW_REQUEST_HEADERS':True,
    # 'USE_SESSION_AUTH': True,
    # 'DOC_EXPANSION': 'list',
    # 接口文档中方法列表以首字母升序排列
    'APIS_SORTER': 'alpha',
    # 如果支持json提交, 则接口文档中包含json输入框
    'JSON_EDITOR': True,
    # 方法列表字母排序
    'OPERATIONS_SORTER': 'alpha',
    'VALIDATOR_URL': None,
}

url 配置

# 路由
router = routers.DefaultRouter()
router.register(r'users',views.UserViewSet,base_name='user')
router.register(r'groups',views.GroupViewSet,base_name='group')


# 重要的是如下三行
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),
    path(r'',include(router.urls)),
    path(r'api-auth/',include('rest_framework.urls',namespace='rest_framework'))

]

猜你喜欢

转载自blog.csdn.net/weixin_37989267/article/details/109568924