drf-yasg2

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 drf-yasg2 的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


链接

官方 

https://drf-yasg2.readthedocs.io/en/latest/rendering.html

csdn用户        Django 整合 Swagger 两分钟完成_五年一班最强的博客-CSDN博客_django swagger

前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、drf_yasg2的安装?

pip install drf-yasg2

二、使用步骤

1.引入库

代码如下(示例):

# setting.py配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # api接口
    'drf_yasg2'
]

# view.py配置


from drf_yasg2.utils import swagger_auto_schema
from drf_yasg2 import openapi
from rest_framework.decorators import action


class AddMailRecord(APIView):
    """
    发快递
    """

    request_body = openapi.Schema(type=openapi.TYPE_OBJECT,
                                  required=['name', 'sender', 'receiver', 'truck', 'driver', 'to_place', 'from_place'],
                                  properties=
                                  {'name': openapi.Schema(type=openapi.TYPE_STRING, description='商品名称'),
                                   'sender': openapi.Schema(type=openapi.TYPE_STRING, description='发件人'),
                                   'receiver': openapi.Schema(type=openapi.TYPE_STRING, description='收件人'),
                                   'truck': openapi.Schema(type=openapi.TYPE_STRING, description='货车//'),
                                   'driver': openapi.Schema(type=openapi.TYPE_STRING, description='司机//'),
                                   'to_place': openapi.Schema(type=openapi.TYPE_STRING, description='出发地'),
                                   'from_place': openapi.Schema(type=openapi.TYPE_STRING, description='目的地')}
                                  )

    @swagger_auto_schema(method='post', request_body=request_body)
    @action(methods=['post'], detail=False)
    def post(self, request):
        data = request.data
        print(data)
        order_code = str(random.randint(1000, 9999)) + str(int(time.time()))
        print(order_code)
        name = request.data.get('name')
        sender = request.data.get('sender')
        receiver = request.data.get('receiver')
        truck = request.data.get('truck')
        driver = request.data.get('driver')
        to_place = request.data.get('to_place')
        from_place = request.data.get('from_place')
        if to_place == from_place:
            return Response({'code': 500, 'msg': '地址有误'})
        print(name, sender, receiver, truck, driver)
        if not all([order_code, name, sender, receiver, truck, driver]):
            return Response({'msg': '信息不全,请补全', "code": 400})
        site = Site.objects.filter(go_site=to_place, from_site=from_place).first()
        money = site.money
        try:
            MailRecord.objects.create(order_code=order_code, name=name, sender=sender, receiver=receiver,
                                      to_place=to_place, from_place=from_place, money=money, truck_id_id=truck,
                                      driver_id_id=driver)
            return Response({'code': 200, 'msg': '完成,快递等待揽收'})
        except:
            error = traceback.format_exc()
            print(error)
            return Response(error)

效果如下

 


总结

完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值