Django
淘淘桃
兄弟们互关!互关!
展开
-
djangorestframework-simplejwt的详细使用说明
自定义序列化器该序列化器需继承TokenObtainPairSerializer类,可以在任意一个app中的seralizers.py中增加该自定义的序列化器,并重写了get_token()方法。在这个方法中,我们可以自定义Payload,将用户的信息添加到Token中。# 增加想要加到token中的信息# ...改写simple JWT提供的默认视图,在app01/views中新增一个视图,该视图需继承至默认的视图类TokenObtainPairView。原创 2024-03-20 23:08:35 · 1094 阅读 · 0 评论 -
drf-----认证组件
user_id=user.id根据这个条件去数据库中查询,没有查询到,就根据defaults={'token':token})重新创建,查询到了,和defaults={'token':token})不一样,就更新。# 一旦通过认证,在request中就有当前登录用户。3 在方法中,完成登录认证,如果 不是登录的,抛异常。一旦通过认证,在request中就有当前登录用户。### 重点:不要在配置文件中,导入莫名其妙的包。4 如果是登录的,返回登录用户和token。5 在视图类中,使用认证类(局部使用)原创 2023-05-25 13:30:40 · 1276 阅读 · 0 评论 -
django实现悲观锁乐观锁
【代码】django实现悲观锁乐观锁。原创 2023-08-15 17:05:35 · 1017 阅读 · 0 评论 -
django中实现事务的几种方式
一旦发生异常或错误,我们使用savepoint_rollback方法让程序回滚到指定的保存点。有的时候我们希望当前事务提交后立即执行额外的任务,比如客户下订单后立即邮件通知卖家。在事务操作中,我们还会经常显式地设置保存点(savepoint)如果没有问题,就使用savepoint_commit方法提交事务。原创 2023-08-15 16:26:45 · 1675 阅读 · 0 评论 -
django执行原生sql
【代码】django执行原生sql。原创 2023-08-09 15:54:03 · 103 阅读 · 0 评论 -
Django-------自定义命令
每一个自定义的管理命令本质是一个Command类, 它继承了Django的Basecommand或其子类, 主要通过重写handle()方法实现自己的业务逻辑代码,而add_arguments()则用于帮助处理命令行的参数,如果运行命令时不需要额外参数,可以不写这个方法。本文主要讲解如何自定义Django-admin命令,并提供一些演示案例。自定义的Django-admin管理命令本质上是一个python脚本文件,它的存放路径必须遵循一定的规范,一般位于app/management/commands目录。原创 2023-08-07 21:46:56 · 1504 阅读 · 0 评论 -
Django------信号
1 定义信号(一般创建一个py文件)(toppings,size 是接受的参数)2 注册信号3 触发信号from 路径 import pizza_done。原创 2023-08-07 16:52:24 · 1177 阅读 · 0 评论 -
django------模糊查询
exclude(): ---------不包含# 返回一个新的QuerySet,它包含不满足给定的查找参数的对象Student.objects.exclude(age__gt=20, name='lin')#排除所有年龄大于20岁且名字为“lin”的学员集2.annotate(): ---------------------聚合函数需要用到# 使用提供的聚合表达式查询对象。# 表达式可以是简单的值、对模型(或任何关联模型)上的字段的引用或者聚合表达式(平均值、总和等)。原创 2023-07-26 20:10:49 · 2082 阅读 · 0 评论 -
django-----批量插入到数据库
【代码】django-----批量插入到数据库。原创 2023-07-26 14:05:42 · 261 阅读 · 0 评论 -
七牛云上传图片封装
【代码】七牛云上传图片封装。原创 2023-07-24 21:39:57 · 303 阅读 · 0 评论 -
反序列化之跨表
"""ymq产品详细序列化""""""商品详细""""""商品轮播图""""""""""""获取评论""""""{ headpic: 'https://tgi13.jia.com/127/342/27342599.jpg', author: '张三', add_time: '2018-06-01', content:'好评好评,真实太好了!'},原创 2023-07-21 20:49:38 · 207 阅读 · 0 评论 -
drf-----序列化定义字段的两种方法
第一种 借用SerializerMethodField 方法,定义get_字段名 方法。原创 2023-05-21 11:12:53 · 310 阅读 · 0 评论 -
jwt ----签发token
【代码】jwt ----签发token。原创 2023-07-20 21:12:00 · 406 阅读 · 0 评论 -
drf ----反序列化定义表字段是unique=True
auth模块中的username是唯一 unique=True。已有这个名字,需要重写字段。原创 2023-07-20 21:05:43 · 205 阅读 · 0 评论 -
表关系分析与创建
blank=True 字段没被赋值不会报错。unique=True 索引-----唯一。以作者表和作者详情表为例 null=True 数据库是null。以图书表和出版社表为例 一本图书只有一个出版社;一个出版社可以有多本书。注意:将外键建在哪一方都可以,但是最好建在查询次数多的有一方。一对多关系,将字段建在多的一方。以图书表和作者表为例。原创 2023-07-20 08:54:53 · 162 阅读 · 0 评论 -
创建虚拟环境
如果不在 /usr/local/bin 目录,如在 ~/.local/bin 目录,则复制一份到 /usr/local/bin 目录。VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 指定的是那个解释器。# Linux可能所在的位置 /usr/local/bin | ~/.local/bin | /usr/bin。-- sudo cp -rf /路径/virtualenvwrapper.sh /usr/local/bin。原创 2023-07-11 08:45:43 · 880 阅读 · 0 评论 -
jwt----token过期时间设置
【代码】jwt----token过期时间设置。原创 2023-07-10 18:50:16 · 1981 阅读 · 0 评论 -
支付宝网站支付封装
alipay_private_key.pem --------存放私钥。-alipay_public_key.pem --------存放公钥。-pem -----------文件夹 存放公钥私钥。# 把你的公钥,配置在支付宝账号里,生成支付宝公钥----》写支付,需要用支付宝公钥和私钥。-pey.py ---------主要逻辑。-setting.py ---------- 配置。-send_ali_pay ---------包。原创 2023-07-04 21:49:10 · 365 阅读 · 0 评论 -
django中使用celery和接口缓存
当一个接口是去数据库取东西,返回给前端,比如图片,等,每个人访问都要去数据库中查,就会使数据库访问过载。解决方法:可以将所要查询的资源放在缓存中,这样下个人查询直接在缓存中拿,大大的提高了访问量。celery中要使用djagno的东西,才要加这句话。加载django的配置文件,,将app加入到环境变量中。利用异步框架celery的定时任务,对缓存实时更新。但是又会产生一个问题,缓存和数据库中的数据不一致。# 双写一致性问题:缓存数据和数据库数据不一致了。-写入数据库,删除缓存。-写入数据库,更新缓存。原创 2023-06-30 21:11:46 · 506 阅读 · 0 评论 -
跨域问题详解
## 自定义中间件解决跨域问题---》以后其它框架都是这个原理---》django上有人做了### 配置文件配置中间件2.2。原创 2023-06-30 20:18:34 · 312 阅读 · 0 评论 -
orm---get_or_create()
get_or_create,查询或者创建一条数据,首先是执行的时候,首先会去表中查询有没有这个值,如果有就返回,没有就创建。get_or_create会返回一个tuple,第一个值是查到或者创建的数据对象---user,buer第二个值是一个布尔,表示是否执行了创建操作。创建为True,未创建为False在进行查询的时候和使用get查询类似,当查到超过一条数据的时候会触发MultipleObjectsReturned。创建的时候也和使用create创建类似。原创 2023-06-28 15:16:41 · 494 阅读 · 0 评论 -
腾讯云短信封装
sms.py ------------核心代码。-settings.py ------------配置。只用去腾讯云申请签名,和模板,申请成功之后,去settings.py配置就可以使用。-send_tx_sms ------------包。sms.py返回值为布尔值,true就是发送成功,false出现错误。原创 2023-06-26 19:55:43 · 1003 阅读 · 0 评论 -
导出项目的依赖
【代码】导出项目的依赖。原创 2023-06-19 18:44:54 · 359 阅读 · 0 评论 -
封装Response
【代码】封装Response。原创 2023-06-19 09:42:37 · 342 阅读 · 0 评论 -
日志----封装logger
【代码】日志----封装logger。原创 2023-06-19 09:39:40 · 453 阅读 · 0 评论 -
simpleui的使用
(39条消息) Django实战: 手把手教你配置Django SimpleUI打造美丽后台(多图)_大江狗的博客-CSDN博客。原创 2023-06-14 17:46:23 · 416 阅读 · 0 评论 -
jwt----介绍,原理
token:服务的生成的加密字符串,如果存在客户端浏览器上,就叫cookie-三部分:头,荷载,签名-签发:登录成功,签发-认证:认证类中认证# jwt:Json web token (JWT),web方向的token认证-长得样子:三段式。原创 2023-06-01 12:09:07 · 747 阅读 · 0 评论 -
drf----全局异常处理
只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.views import exception_handler。# isinstance() 判断一个对象是不是某个类的对象 isinstance(对象,类)# exception_handler只处理了drf的异常,其它的异常需要我们自己处理。# 如果异常对象是drf的APIException对象,就会返回Response。# 如果异常对象不是drf的APIException对象,就会返回None。原创 2023-05-29 11:16:24 · 222 阅读 · 0 评论 -
drf-----排序,分页
【代码】drf-----排序,分页。原创 2023-05-26 22:40:01 · 224 阅读 · 0 评论 -
drf-----过滤
【代码】drf-----过滤。原创 2023-05-26 22:32:54 · 223 阅读 · 0 评论 -
drf--------频率组件
1 写个类,继承:SimpleRateThrottle。'lqz': '3/m' # 一分钟访问3次。-比如某个接口,一分钟只能访问5次,超过了就得等。2 重写某个方法:get_cache_key。-返回什么,就以什么做频率限制。-可以返回ip或用户id。3 写一个类属性,随意命名一个名。-按IP地址 限制。-按用户id 限制。# 频率类的使用步骤。原创 2023-05-25 13:36:41 · 975 阅读 · 0 评论 -
drf-------权限组件
大家都登录了,但有的功能(接口),只有超级管理员能做,有的功能所有登录用户都能做----》这就涉及到权限的设计了。# 咱们现在只是为了先讲明白,drf的权限组件如何用,咱们先以最简单的为例。-查询所有图书:所有登录用户都能访问(普通用户和超级管理员)# 权限设计:比较复杂---》有acl,rbac,abac。-错误信息是self.message='字符串'-如果没有权限,就返回False。-如果有权限,就返回True。-删除图书,只有超级管理员能访问。-给其它用户设置的权限。# 权限类的使用步骤。原创 2023-05-25 13:35:52 · 1189 阅读 · 0 评论 -
drf-----自动创建路由
1,视图类中,继承了ViewSetMixin 魔法,不自动创建路由,就需要在url,里面as_view(书写对应关系)原创 2023-05-24 15:45:21 · 1008 阅读 · 0 评论 -
drf ------视图集
原创 2023-05-24 09:39:54 · 212 阅读 · 0 评论 -
drf -------序列化组件
1. 序列化,序列化器会把模型对象(queryset,单个对象)转换成字典,经过response以后变成json字符串2. 反序列化,把客户端发送过来的数据,经过request.data以后变成字典,序列化器可以把字典转成模型3. 反序列化,完成数据校验功能。原创 2023-05-21 08:12:57 · 305 阅读 · 0 评论 -
django文件上传,打开文件保存,读取
1、request.FILES获取的是一个文件对象。总结一下自己今天出现并解决的疑问。原创 2023-05-15 17:13:52 · 1008 阅读 · 0 评论 -
CBV中加装饰器相关
CSRF Token相关装饰器在CBV只能加到dispatch方法上,或者加在视图类上然后name参数指定为dispatch方法。如果get方法和post方法都需要登录校验的话就写两个装饰器。给 cbv中post加装饰器。原创 2023-05-08 16:16:40 · 210 阅读 · 0 评论 -
django之auth模块
我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据。原创 2023-05-08 14:11:32 · 356 阅读 · 0 评论 -
Django之Model的Meta用法
【代码】Django之Model的Meta用法。原创 2023-05-06 17:05:08 · 217 阅读 · 0 评论 -
django自定义中间件--------登录验证中间件
自定义中间件举个列子----在自定义中间件实现认证登录重新建一个文件夹,建一个py文件原创 2023-05-06 16:46:23 · 505 阅读 · 0 评论