django rest framework 登录认证,调用百度API实现文本转语音及MP3文件下载

本文介绍了如何在Django REST Framework中进行登录认证,并利用百度API实现文本转语音功能,同时提供MP3文件的下载。通过全局配置减少代码冗余,并详细说明了调用API的流程、参数设置以及视图处理方法。
摘要由CSDN通过智能技术生成

应老板需求,需要为公司软件,做一个宣传视频,普通发不飘准的我,就想到了这个方法为视频配音( Ĭ ^ Ĭ )

(只看调用API方法的小伙伴请忽视前面,直接往后看)

普通apiview登录认证:

from rest_framework.authentication import BasicAuthentication

# 在view中添加Authtication类 继承BasicAuthentication类
# 继承更标准,不继承也没影响最终都会走到APIView
class Authtication(BasicAuthentication):
    def authenticate(self, request):
        token = request._request.GET.get('token')
        print(token)
        token_obj = models.UserToken.objects.filter(token=token).first()
        if not token_obj:
            raise exceptions.AuthenticationFailed('未登录,请登录')
        # 在rest framework内部会将这两个字段赋值给request 以供后续操作使用request.user == token_obj.user, request.auth == token_obj
        return (token_obj.user, token_obj)

    def authenticate_header(self, request): # 响应头,可以自己定义
        pass
class OrderView(APIView):
    # Django rest framework 用于判断是否登录
    authentication_classes = [Authtication,] # 为自定义视图添加自定义用户认证规则类,可以添加多个自定义规则类,在源码中会for 循环取值
    def get(self,request):

  这样OK但是有很多很多的类需要给他们定义判定规则怎么办,这样既麻烦也会出现代码大量冗余,这就需要全局配置

全局配置:

# mkdir 文件夹 创建文件夹
# vim 文件名 有则打开文件,反之创建
from rest_framework import exceptions
from LoginRegister import models
from rest_framework.authentication import BasicAuthentication


class Authtication(BasicAuthentication):
    def authenticate(self, request):
        token = request._request.GET.get('token')
        token_obj = models.UserToken.objects.filter(token=token).first()
        if not token_obj:
            raise e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值