luffy项目中关于APIView的使用
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__
luffy项目中关于APIView的使用的更多相关文章
- django项目中购物车的实现
对于做项目而言,最重要的是分析清楚自己负责模块的思路,确定思路后,把每一步实现的步骤确定后,根据步骤,去实现代码,测试. 购物车的逻辑: 登录用户可以添加购物车,未登陆用户页可以添加到购物车 ...
- luffy项目:基于vue与drf前后台分离项目(1)
""" 1.业务逻辑:登录注册 - 主页(基础信息展示) - 课程页(复杂信息展示)- 课程订单生产与支付 - 上线订单生成 2.实际项目开发的技术点: git版本控制 ...
- day76:luffy:项目前端环境搭建&轮播图的实现
目录 1.项目前端环境搭建 1.创建项目目录 2.前端初始化全局变量和全局方法 3.跨域CORS 4.axios配置 2.轮播图功能的实现 1.安装依赖模块 2.上传文件相关配置 3.注册home子应 ...
- git冲突解决、线上分支合并、luffy项目后台登陆注册页面分析引入
今日内容概要 git冲突解决 线上分支合并 登陆注册页面(引入) 手机号是否存在接口 腾讯云短信申请 内容详细 1.git冲突解决 1.1 多人在同一分支开发,出现冲突 # 先将前端项目也做上传到 g ...
- VS项目中使用Nuget还原包后编译生产还一直报错?
Nuget官网下载Nuget项目包的命令地址:https://www.nuget.org/packages 今天就遇到一个比较奇葩的问题,折腾了很久终于搞定了: 问题是这样的:我的解决方案原本是好好的 ...
- ABP项目中使用Swagger生成动态WebAPI
本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...
- iOS 之项目中遇到的问题总结
昨天去一家公司面试,面试官问了我在项目开发中遇到过哪些问题,是什么引起的,怎样解决的? 当时由于有点小紧张只说出了一两点,现在就来好好总结一下. 问题: 1.两表联动 所谓的两表联动就是有左右两个表格 ...
- My97DatePicker时间控件在项目中的应用
一.下载My97DatePicker的压缩包My97DatePicker.rar,解压. 注:My97DatePicker最新版本有开发包,项目中使用时删掉,以便节省空间,提高程序的运行效率. 二.在 ...
- 在项目中同时使用Objective-C和Swift
苹果发布的Swift语言可以和之前的Objective-C语言同时存在于一个项目中. 可能有人会认为是同一个类文件中既可以有Objective-C也可以有Swift,这是不对的.同一个类文件或同一个代 ...
随机推荐
- Scala变量和数据类型
一.注释及代码规范 Scala的注释和Java中完全相同:单行注释:// .多行注释:/* */ 以及文档注释:/** */: 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整 ...
- My97DatePicker接口
复制于http://blog.csdn.net/lidew521/article/details/8531685 一. 简介 1. 简介 目前的版本是:4.2 正式版 发布于2008-12-03 2. ...
- Aluminum: An Asynchronous, GPU-Aware Communication Library Optimized for Large-Scale Training of Deep Neural Networks on HPC Systems
本文发表在MLHPC 2018上,主要介绍了一个名为Aluminum通信库,这个库针对Allreduce做了一些关于计算通信重叠以及针对延迟的优化,以加速分布式深度学习训练过程. 分布式训练的通信需求 ...
- Android SugarORM(1)
Android Sugar ORM (1) Android Sugar ORM比我之前用过的ORM都要简单许多, 其目的是简化与Android中SQLite数据库的交互, 优点如下: 消除了编写SQL ...
- [自动化]基于kolla部署的openstack自动化巡检生成xlsx报告
自动化巡检介绍 此巡检项目在kolla-ansible部署的openstack环境上开发,利用ansible-playbook编排的功能,对巡检的任务进行编排和数据处理.主要巡检的对象有IaaS平台和 ...
- Ibgreslock漏洞利用
- Wireshark教程之数据包操作
实验目的 1.工具介绍 2.主要应用 实验原理 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实验内容 1.工具基本使用 2.快速 ...
- 从这3个方面考虑BI工具,选型一选一个准
BI工具在很多场合都能听到,那么BI工具有什么功能呢?能给企业带来什么?好用的BI工具长什么样?今天跟着小编走近BI工具,一探究竟! 首先要了解BI工具的定义,什么是BI工具.BI工具是指利用现代数据 ...
- 国产BI报表工具中低调的优秀“模范生”——思迈特软件Smartbi
首先简单来介绍一下这位低调且优秀的模范生--思迈特软件Smartbi.思迈特Smartbi是企业级商业智能BI和大数据分析品牌,满足用户在企业级报表.数据可视化分析.自助分析平台.数据挖掘建模.AI智 ...
- Win10系统下关闭管理员运行确认弹窗
Windows10及以上系统对于安全的考虑,对于程序运行时的权限做了控制. 点击后,会弹出确认的弹窗. 像我做测试,或者使用cmd经常需要administrator 权限,一直弹弹弹就很烦. 要 ...