luffy项目中关于APIView的使用
2024-10-20 14:03:34
views中
from rest_framework.views import APIView
from django.shortcuts import HttpResponse from api.utils.auth_class import LoginAuth
from api.models import * from django.core.exceptions import ObjectDoesNotExist from api.utils.response import BaseResponse
import json from rest_framework.response import Response
from django.http import JsonResponse from api.utils.exceptions import PriceException from django_redis import get_redis_connection class ShoppingCarView(APIView): authentication_classes = [LoginAuth,]
response=BaseResponse()
conn=get_redis_connection("default")def post(self,request):
def post(self,request):
"""
购物车的添加课程请求
:param request:
:return:
"""
.....
def get(self,request):
"""
查看购物车列表请求
:param request:
:return:
"""
pass
自定义认证 from api.utils.auth_class import LoginAuth,api是自定义组件(相当于app01)
from rest_framework.authentication import BaseAuthentication
from rest_framework.exceptions import AuthenticationFailed
from api.models import UserToken class LoginAuth(BaseAuthentication): def authenticate(self, request): #一定要重写该方法
token=request.GET.get("token")
token_obj=UserToken.objects.filter(token=token).first() if token_obj:
return token_obj.user,token_obj.token
else:
raise AuthenticationFailed("认证失败了")
自定义异常处理 from api.utils.exceptions import PriceException
class PriceException(Exception): def __init__(self):
self.msg="价格策略有问题,你不是人!"
自定义 response from api.utils.response import BaseResponse
class BaseResponse(object): def __init__(self):
self.data=None
self.error_msg=""
self.code=1000 @property
def dict(self): return self.__dict__
最新文章
- 团队作业week9 scenario testing
- thinkphp nginx php-fpm url rewrite 导致 404 错误
- C#中线程对控件的访问
- Hadoop SPARK 环境搭建
- background-attachment:fixed应用
- 老鸟的Python新手教程
- jQuery中的DOM操作总结
- vue组件利用formdata图片预览以及上传《转载》
- scala的安装及使用
- 006.SMB之用户管理
- Kong安装简介
- Yii1.1测试环境配置(一)
- NodeJs -- express 快速建站
- Java NIO使用及原理分析(二)(转)
- C#缓存-依赖 CacheHelper
- [Codefroces401D]Roman and Numbers(状压+数位DP)
- 【.Net】Socket小示例
- IOS开发学习笔记042-UITableView总结2
- token验证机制
- vs2015终于配置完成了