django-rest-swagger 可视化管理restful api
Admin
2018-12-27 14:43:45
Django
什么是django-rest-swagger?
用于Django REST框架的OpenAPI文档生成器,结合django-rest-framework可视化管理api。
环境需求
Python 2.7.15
Django 1.11.17
Django-rest-framework 3.9.0
Django-rest-swagger 2.2.0
安装
1 2 3 | pip install django==1.11.17 pip install djangorestframework==3.9.0 pip install django-rest-swagger==2.2.0 |
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # urls.py from rest_framework_swagger.views import get_swagger_view schema_view = get_swagger_view(title = 'YwFuns API' ) v1_api_patterns = [ url( 'v1/users/' , include( 'User.api_urls' , namespace = 'api-users' )), ] urlpatterns = [ url( 'api/' , include(v1_api_patterns)), url( 'api/docs/' , schema_view, name = "api-docs" ) ] # settings.py INSTALLED_APPS = ( "rest_framework" , "rest_framework_swagger" , "..." ) SWAGGER_SETTINGS = { 'SECURITY_DEFINITIONS' : { "basic" :{ 'type' : 'basic' } } } # User/api_urls.py from django.conf.urls import include, url from rest_framework import routers from view import UserViewSet route = routers.DefaultRouter() route.register(r 'users' , UserViewSet, "user" ) urlpatterns = [ url(r '^' , include(router.urls)), url(r '^api-auth/' , include( 'rest_framework.urls' , namespace = 'rest_framework' )) ] # User/view.py from User.models import User from rest_framework import viewsets from .serializers import UserSerializer class UserViewSet(viewsets.ModelViewSet): queryset = User.objects. all ().order_by( '-last_login' ) serializer_class = UserSerializer # User/serializers.py from User.models import User from rest_framework import serializers class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ( 'username' , 'nickname' , 'email' ) |
运行测试
1 2 3 4 5 6 7 8 | python manage.py runserver 0.0.0.0:8000 Performing system checks... System check identified no issues (0 silenced). December 27, 2018 - 14:15:05 Django version 1.11.17, using settings 'mysite.settings' Starting development server at http: //0 .0.0.0:8070/ Quit the server with CONTROL-C. |
访问:http://127.0.0.1:8000/api/docs/