Python Swagger 接口文档自动集成平台

一 安装

当前virtualenv 环境下
pip install django-rest-swagger==2.2.0 
在Django项目settings.py中 加入 插件模块
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Api.apps.ApiConfig',
    'crispy_forms',
    'rest_framework',
    'django_filters', 
    'rest_framework_swagger' # Swagger 接口文档自动集成平台
]

二 在views.py中 在接口授权里 设置说明 如下图 注释字体就是说明

在这里插入图片描述

# import os,django
# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")
# django.setup()
from django.shortcuts import render
# from django.contrib.auth.models import User,Group
from rest_framework import viewsets
from Api.serializers import UserSerializer,GroupSerializer
from Api.models import User,Group
from rest_framework.schemas import get_schema_view
# Create your views here.

class UserViewSet(viewsets.ModelViewSet):
    """
        retrieve:
            Return a user instance.
        
        list:
            Return all users,odered by most recent joined.
        
        create:
            Create a new user.
            
        delete:
            Remove a existing user
        
        partial_update:
            Update one or more fields on a existing user.
        
        update:
            Update a user.
            
    
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer

class GroupViewSet(viewsets.ModelViewSet):
    """
            retrieve:
                Return a group instance.

            list:
                Return all groups, ordered by most recently joined.

            create:
                Create a new group.

            delete:
                Remove an existing group.

            partial_update:
                Update one or more fields on an existing group.

            update:
                Update a group.
        """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

三 配置urls.py 设置路由 可访问Swagger 接口文档自动集成平台

# 导入 admin Django内置admin
from django.contrib import admin
# 导入 path 设置路由
from django.urls import path
from django.urls import include, path
# rest_framework相关
from rest_framework import routers
from Api import views
# swagger相关必须导入
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer,OpenAPIRenderer
# rest_framework配置
router = routers.DefaultRouter()
router.register(r'users',views.UserViewSet)
router.register(r'groups',views.GroupViewSet)
# swagger配置
schema_view = get_schema_view(title='Users API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])


urlpatterns = [
	# 可通过docs/访问Swagger 接口文档自动集成平台
    path(r'docs/', schema_view, name="docs"),
    path('admin/', admin.site.urls),
    path('',include(router.urls)),
    path('api-auth/',include('rest_framework.urls',namespace='rest_framework')),

]

本次安装用的是python 3.5 Django==2.0.3 超出范围可能报错 这是整套项目包含的插件 方便以后查阅使用

Package                 Version     
----------------------- ------------
amqp                    1.4.9       
anyjson                 0.3.3       
attrs                   19.3.0      
Babel                   2.8.0       
bcrypt                  3.1.7       
billiard                3.3.0.23    
celery                  3.1.26.post2
certifi                 2019.11.28  
cffi                    1.13.2      
chardet                 3.0.4       
Click                   7.0         
colorama                0.4.3       
colorlog                4.1.0       
ConfigArgParse          0.15.1      
coreapi                 2.3.3       
coreschema              0.0.4       
cryptography            2.8         
defusedxml              0.6.0       
diff-match-patch        20181111    
Django                  2.0.3       
django-celery           3.3.1       
django-crispy-forms     1.7.2       
django-filter           2.2.0       
django-formtools        2.2         
django-import-export    2.0.1       
django-rest-swagger     2.2.0       
django-six              1.0.4       
django-xadmin           0.5.0       
djangorestframework     3.9.2       
dwebsocket              0.5.12      
et-xmlfile              1.0.1       
eventlet                0.22.1      
filetype                1.0.5       
Flask                   1.1.1       
flower                  0.9.3       
future                  0.18.2      
gevent                  1.5a2       
geventhttpclient-wheels 1.3.1.dev2  
greenlet                0.4.15      
har2case                0.3.1       
httprunner              2.5.4       
idna                    2.6         
importlib-metadata      1.5.0       
itsdangerous            1.1.0       
itypes                  1.1.0       
jdcal                   1.4.1       
Jinja2                  2.11.1      
jsonpath                0.82        
jsonschema              3.2.0       
kombu                   3.0.37      
locust                  0.0         
locustio                0.13.5      
Markdown                3.1.1       
MarkupPy                1.14        
MarkupSafe              1.1.1       
msgpack-python          0.5.6       
odfpy                   1.4.1       
openapi-codec           1.3.2       
openpyxl                2.6.4       
paramiko                2.7.1       
Pillow                  6.2.2       
pip                     20.0.2      
pycparser               2.19        
PyMySQL                 0.9.3       
PyNaCl                  1.3.0       
pyrsistent              0.15.7      
pytz                    2019.3      
PyYAML                  5.3         
pyzmq                   18.1.1      
requests                2.22.0      
requests-toolbelt       0.9.1       
sentry-sdk              0.13.5      
setuptools              45.1.0      
simplejson              3.17.0      
six                     1.14.0      
sqlparse                0.3.0       
tablib                  0.14.0      
tornado                 5.1.1       
uritemplate             3.0.1       
urllib3                 1.22        
Werkzeug                0.16.1      
wheel                   0.34.2      
xlrd                    1.2.0       
xlwt                    1.3.0       
zipp                    1.1.0    

运行Swagger 接口文档自动集成平台

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值