Powered by Django REST Swagger

本文详细介绍了如何在Python 3.7.6和Django 2.0.7环境下,利用django-rest-swagger 2.2.0快速搭建RESTful API并生成文档。包括安装、注册应用、配置URL、创建视图等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Powered by Django REST Swagger

#1 环境

Python==3.7.6
Django==2.0.7
django-rest-swagger==2.2.0

安装swagger

pip install django-rest-swagger

#2 使用指南

#2.1 注册app

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

#2.2 使用

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

20191030223840-image.png

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

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

20191030224249-image.png


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值