前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Powered by Django REST Swagger

Powered by Django REST Swagger

作者头像
Autooooooo
发布2020-11-09 10:04:51
4080
发布2020-11-09 10:04:51
举报
文章被收录于专栏:Coxhuang

Powered by Django REST Swagger

#1 环境

代码语言:javascript
复制
Python==3.7.6
Django==2.0.7
django-rest-swagger==2.2.0

安装swagger

代码语言:javascript
复制
pip install django-rest-swagger

#2 使用指南

#2.1 注册app

代码语言:javascript
复制
INSTALLED_APPS = [
    ...
    'rest_framework_swagger',
    ...
]

#2.2 使用

代码语言:javascript
复制
from rest_framework.schemas import get_schema_view # 导入辅助函数get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer,OpenAPIRenderer # swagger
schema_view = get_schema_view(title='API',renderer_classes=[SwaggerUIRenderer,OpenAPIRenderer])

urlpatterns = [
    path('', schema_view, name='docs'),   # 配置swagger的url路径
    ...
]

启动Django,在浏览器输入ip:端口号即可访问swagger

我的项目一般是一个视图对应一个接口,如果一个视图对应多个请求,可以写成以下格式

代码语言:javascript
复制
from django.shortcuts import render
from django.contrib.auth.models import User,Group
from rest_framework import viewsets
from API.serializers import UserSerializer,GroupSerializer

# Create your views here.

# viewsets通过serializer_class找到对应的serializers
class UserViewSet(viewsets.ModelViewSet):
    '''
        retrieve:
            Return a user instance.

        list:
            Return all users,ordered 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()   # 将User的所有对象赋给queryset,并返回对应值
    serializer_class = UserSerializer   # 指向UserSerializer

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

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

        create:
            Create a new group.

        delete:
            Remove a existing group.

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Powered by Django REST Swagger
  • #1 环境
  • #2 使用指南
    • #2.1 注册app
      • #2.2 使用
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档