django集成swagger

1、适用版本

django3就不要尝试了,不支持

 

2、安装模块

pip install django-rest-swagger

 

3、修改setting.py

INSTALLED_APPS = [
    ...
    'rest_framework_swagger',
]

SWAGGER_SETTINGS
= { # 这里可以用获取到的token来登录 'SECURITY_DEFINITIONS': { 'api_key': { 'type': 'apiKey', 'in': 'query', # token位置在url中 'name': 'token' # 验权的字段 } }, 'USE_SESSION_AUTH': False, 'JSON_EDITOR': False, # False,用户可以自己编辑格式,不用按照serializers中的数据添加。True,会有多个输入框,输入serializer对应的字段的值 }

 

4、url.py

from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer

schema_view = get_schema_view(title='API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])


urlpatterns = [
    ...

    path('docs/', schema_view, name='docs'),
]

 

5、django3报错

TypeError: Expected a `coreapi.Document` instance

解决:版本不适配,用不了,建议试试 drf_yasg

posted @ 2022-08-03 11:29  sugoi  阅读(344)  评论(0)    收藏  举报