自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 celery 配置

celery 常用配置CELERY_TIMEZONE: 设置时区CELERY_ENABLE_UTC: 是否启动时区设置,默认值是TrueCELERY_CONCURRENCY: 并发的worker数量CELERY_PREFETCH_MULTIPLIER: 每次去消息队列读取任务的数量,默认值是4CELERY_MAX_TASKS_PRE_CHILD: 每个worker执行多少次任务后会死掉BROKER_URL: 使用redis作为任务队列CELERY_TASK_RESULT_EXPIR

2021-03-16 10:01:54 678

原创 celery crontab表达式

celery的crontab表达式crontab是比较完善,可以实现我们各种设置时间的需求。crontab()实例化的时候没设置任何参数,都是使用默认值。crontab一共有7个参数,常用有5个参数分别为:minute:分钟,范围0-59;hour:小时,范围0-23;day_of_week:星期几,范围0-6。以星期天为开始,即0为星期天。这个星期几还可以使用英文缩写表示,例如“sun”表示星期天;day_of_month:每月第几号,范围1-31;month_of_year:月份

2021-03-12 15:09:50 3109 6

原创 Django2.2+Celery4.4.2+Redis 实现异步任务队列以及定时任务

安装对应的库pip3 install celery==4.4.2pip3 install gevent==21.1.2 pip3 install Django==2.0.4配置settings.py文件:CELERY_BROKER_URL = 'redis://localhost:6379/'CELERY_RESULT_BACKEND = 'redis://localhost:6379/'CELERY_RESULT_SERIALIZER = 'json'这里broker配置redis

2021-03-10 15:06:16 495

原创 flask使用Blueprint

问题一定要把项目路径导入到系统路径中结构目录api_blueprint.pyfrom flask import Flaskimport sysimport pathlib# 把当前目录加入系统路径base_dir = pathlib.Path(sys.argv[0]).parent.parentif sys.path.count(base_dir) == 0 : sys.path.append(str(base_dir))#查看系统路径# print(sys.path)#

2021-01-13 12:01:58 276

原创 使用Navicat mysql创建用户

需要注意的是一定要给服务器权限,要不然无法对数据库进行操作,用户名、密码、主机、都可自定义

2020-11-24 07:58:37 1811

原创 Django中cookie和session的存、取、删除

vue 设置Axios允许携带cookieimport axios from 'axios'Vue.prototype.axios =axiosaxios.defaults.withCredentials = trueDjango 设置settings允许携带cookieCORS_ALLOW_CREDENTIALS = True一定要把所有的本地IP改成公网IP,前后端起项目要用0.0.0.0 启动,不然会取不到sessioncookie的存:response = HttpRespons

2020-11-23 21:42:11 550

原创 使用captcha库生成验证码

from captcha.image import ImageCaptchafrom random import randintfrom base64 import b64encodefrom base64 import b64decodefrom io import BytesIOimport randomfrom django.http import HttpResponse# 随机颜色def get_random_color(): R = random.randrange (

2020-11-23 21:08:35 866

原创 VUE处理base64图片

2020-11-23 21:02:58 607 1

原创 docker命令(下)

容器操作docker ps# ps用于输出容器列表$ docker ps <选项># 选项-a, --all=false 列出所有容器,不带-a则输出当前正在运行的容器。--before="" 列出特定容器创建前的容器,包含停止的容器。-f, --filter=[] 设置输出过滤-l, --latest=false 列出最后创建的容器包含停止的容器-q, --quiet=false 只输出容器的ID$ docker psCONTAINER ID IMAGE

2020-11-23 20:42:53 318 1

原创 Docker命令(上)

帮助文档$ docker --help 用法: docker COMMAND

2020-11-23 20:42:21 163

原创 redis使用zadd出现的问题

python与redis数据库交互中zadd、zincrby会出现的问题今天使用redis中zadd插入有序列表的时候报出一个异常刚开始以为是自己传参传错了,后面尝试重新书写代码,结果还是无济于事就很头大 ,去搜了一下相关资料,原来是因为版本问题需要修改里面的一个格式(可能是因为没注意版本问题)如果你是在redis的新版本中使用之前的在旧版本的zadd语句就就会给你报出这样的异常:AttributeError: ‘int’ object has no attribute ‘items’(err

2020-11-23 20:41:39 2167

原创 线程、进程、多线程

进程与线程很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么

2020-11-23 20:33:33 93

原创 Celery和borker

CeleryCelery是一个异步任务的调度工具Celery 是 Distributed Task Queue,分布式任务队列,分布式决定了可以有多个 worker 的存在,队列表示其是异步操作,即存在一个产生任务提出需求的工头,和一群等着被分配工作的码农。在 Python 中定义 Celery 的时候,我们要引入Broker,中文翻译过来就是“中间人”的意思,在这里 Broker 起到一个中间人的角色。在工头提出任务的时候,把所有的任务放到 Broker 里面,在 Broker 的另外一头,一群码农

2020-11-23 20:33:00 504 1

原创 WebHook机制

1.什么是web hookwebhook是一个API概念,并且变得越来越流行,我们能用事件描述的事物越来越多,webhook的作用范围也就越大, webhook作为一个清凉的事件处理应用,正变得越来越有用我们在网上做的工作,大部分其实就是事件,webhooks已经成为了连接系统的主要方式,不管是用户创建,支付成功,DockerHub镜像推送或者Git仓库上的合并请求,这些都是非常有用并且轻量级的共享信息的方式简单来说,就是一种反向API,类似于触发器一样打个比方,比如项目A要从项目B获取

2020-11-23 20:32:26 5011

原创 python2和python3 的区别

Python 2 和 Python 3引言Python 是一种极具可读性和通用性的编程语言。Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣。Python 易于设置,并且是用相对直接的风格来编写,对错误会提供即时反馈,对初学者而言是个很好的选择。Python 是一种多范式语言,也就是说,它支持多种编程风格,包括脚本和面向对象,这使得它适用于通用目的。随着越来越多地在工业中,被诸如联合太空联盟(NASA 的主要飞机支持承

2020-11-23 20:31:59 693

原创 Django事务的使用

from django.db import transaction # 导入事务class XXX(APIView): @transaction.atomic # transaction.atomic装饰器可以保证该函数中所有的数据库操作都在一个事务中。 def XXX(self,request): # 开启事务 with transaction.atomic (): # 设置事务保存点

2020-11-16 21:33:03 286

原创 mysql 支持emoji表情存储

发现mysql存入emoji就会报错,mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。也试了网上大多数得方法修改字符集,修改成utf8的超集utf8mb4,发现并没有什么用。解决代码...

2020-11-15 20:52:28 189

原创 websocket在Django中的实现

使用方法使用上很方便,如果为一个单独的视图函数处理一个websocklet连接可以使用accept_websocket装饰器,它会将标准的HTTP请求路由到视图中。使用require_websocke装饰器只允许使用WebSocket连接,会拒绝正常的HTTP请求。一些属性和方法1.request.is_websocket()如果是个websocket请求返回True,如果是个普通的http请求返回False,可以用这个方法区分它们。2.request.websocket在一个websocke

2020-11-15 20:35:28 576

原创 单因子登录、双因子登录、三因子登录

可用于认证的因子可有三种:what you knowwhat you havewhat you are单因子登录(what you know)表示你知道什么,这种的一般只需要输入账号密码就可以完成登录双因子登录(what you have)表示你有什么,这种登录在单因子基础上可能还需要结合另一种实物:如短信验证,或者令牌之类。可以产生token的硬件设只能手机的app手机短信微信扫码确认都可以成为双因子认证,双因子认证会结合一个你有的硬件设备,只要这个专属的硬件不丢失,就可

2020-11-15 19:29:45 6912

原创 vuejs-emoji安装使用

安装# NPM$ npm install emoji-vue --save使用import VueEmoji from 'emoji-vue' data() { return { newss:'', } }//在组件def methods: { onInput(event) { //事件。数据包含文本区域的值 //将输入的话和表情赋给newss this.newss=even

2020-11-12 11:31:54 1374 2

原创 在MySQL中存储大文件

在MySQL中存储大文件我们的目标:把一首mp3保存到MySQL数据库中!  由于MySQL默认当存入的数据太大时会抛异常,所以应在my.ini中添加如下配置!max_allowed_packet=10485760,这样,可以最大存入一个10M的数据(当然可以设置更大)MySQL使用如下四种类型来处理文本大数据:    类型           长度    tinytext         (256B)    text          (64K)    mediumtext     

2020-11-10 21:56:42 1891

原创 vue websocket 和箭头函数

vue websocket 和箭头函数在websocket中使用this 一定要用箭头函数原因:websocket中没有this下的方法,箭头函数会向外寻找(就像涟漪一样扩散)直到找到this. //判断浏览器是否支持websocket if("WebSocket" in window){ console.log("支持"); //请求网站 var ws = new WebSocket('ws://127.0.0.1:8000/websocketlink/

2020-11-09 21:29:16 266

原创 使用小皮面板解决Mysql 2006 错误

使用小皮面板解决Mysql 2006 错误一般情况下Mysql 2006 错误 :MySQL 服务器宕机了我们可以通过检查服务器正常运行时间(uptime)和服务器的错误日志来检查是否服务器确实消失了。MySQL 连接超时mysql 默认链接时间为120秒 ,可以修改连接时间你的SQL语句被杀死了你的SQL语句太大了这些问题可以在小皮面板设置解决...

2020-11-09 09:58:27 6441 1

原创 Python 和 Django 路径区别

Python 和 Django 路径区别1.python1.python 可以适应 ./文件夹/文件夹/文件 ../文件夹/文件夹/文件 的路径找到文件或文件夹2.Django# img 路径拼接 django项目根路径 文件夹路径 图片名 tu_jpg = os.path.join (BASE_DIR, "static/upload/" +img) Django 必须以Django项目的根路径+文件夹路径+文件 的格式来找到文件或文件夹3.OS模块基本操作

2020-11-09 09:54:38 228

原创 Ant Design Vue快速入门教程

Ant Design VueAnt Design是蚂蚁金服出品的一款前端UI库,官方的介绍是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。简而言之就是一款简洁漂亮的UI库。环境node.js webpack vscode npm//安装vue脚手架和ant design vuenpm install -g @vue/clinpm i --save ant-design-vue//创建一个vue demovue create an

2020-11-04 07:42:16 10666 4

原创 权限模型

ALC权限模型ACL:Access Control List,访问控制列表,是前几年盛行的一种权限设计,它的核心在于用户直接和权限挂钩。RBAC权限模型RBAC:Role Based Access Control ,翻译过来基本上就是基于角色的访问控制系统。RBAC的核心是用户只和角色关联,而角色代表对了权限,这样设计的优势在于使得对用户而言,只需角色即可以,而某角色可以拥有各种各样的权限并可继承。ACL和RBAC相比缺点在于由于用户和权限直接挂钩,导致在授予时的复杂性,虽然可以利用组来简化这

2020-11-03 18:38:37 282

原创 Python工厂模式!!!

Python工厂模式工厂方法模式有一种常见的分类的方法:根据产品是由具体产品还是具体工厂可以分为 工厂方法模式 和 简单工厂模式。根据工厂的抽象程度可以分为 工厂方法模式和 抽象工厂模式。接下来会通过例子对比简单工厂模式和工厂方法模式。工厂意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。案例第一阶段小李开了一个代工厂,专门帮各大厂商生产手机,一开始只有小米找他生产小米手机(MiPhone),后来质量过硬,声名远播

2020-11-03 18:13:37 1433

原创 redis存取数据和设置到期时间

import redis#链接数据库pool=redis.ConnectionPool(host='localhost',port=6379,db=0)r = redis.StrictRedis (connection_pool=pool)#存储 key valuesr.set (email, num)# 时间设定 key 时间r.expire (email, 120)# 取出值r.get (email)# 判断是否存在 存在返会1 不存在返回0 返回的数为 int 类型

2020-10-28 20:41:57 852

原创 JWT的自定义方法

import jwt# 加密def encode_jwt(parameter): # 加密 encode_jwt = jwt.encode(parameter,'密钥',algorithm='HS256') print (encode_jwt) return encode_jwt# 解密def decode_jwt(parameter): # 强转类型 encode_jwt = str(parameter,'utf-8') # 解密

2020-10-28 20:31:59 612

原创 自定义MD5方法

自定义MD5方法import hashlibdef Mymd5(password): md = hashlib.md5 ( ) md.update (password.encode ("utf-8")) return md.hexdigest ( )print (Mymd5 ('123'))

2020-10-28 20:29:14 865

原创 Django Vue Access-Control-Allow-Origin跨域问题

1.在Django 和 VUE 联动可能会出现Access-Control-Allow-Origin跨域问题:如图所示:2.在Django端可以进行设置就可以解决# 定一个变量接收返回前端的数据response = Response ({'message': '验证码不能重复发送'}) # 在变量后加上["Access-Control-Allow-Origin"] = "*" or ["Access-Control-Allow-Origin"] = "指定一个域名"response["Acc

2020-10-28 20:21:49 2068 1

原创 Git 命令

创建文件夹mkdir XXX 切入文件夹cd XXX配置全局 git config --global user.name "XXXXXXXXXX" git config --global user.email "7618738+XXXXXXXX@user.noreply.gitee.com"仓库的初始化(初始化过就不需要在初始化了)git init新建文件README.md没有README.md需要创建touch README.md添加到本地git add -A 提

2020-10-26 20:58:34 84

原创 win10专业版 安装 docker

Win10 系统(必须是专业版)现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启 Hyper-V。开启 Hyper-V程序和功能启用或关闭Windows功能选中Hyper-V安装 Toolbox最新版 Toolbox 下载地址: 访问 https://www.docker.com/get-started,注册一个账号,然后登录。点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会

2020-10-26 20:44:01 865

原创 支付宝原理

1.支付宝支付流程2.新建支付宝应用# 访问"支付宝开发平台"登录,可以访问开发者中心https://open.alipay.com/platform/home.htm# 可以参考"电脑网站支付" 熟悉电脑支付整体流程 https://docs.open.alipay.com/270/105899/2.1第一步:创建应用(这里使用沙箱环境测试)沙箱环境说明线上环境需要创建应用,因为我们不是企业,没有资质,所以只能申请沙箱环境简单来讲沙箱环境就是给开发者使用的测试环境沙箱环境地

2020-10-15 21:13:30 1000

原创 ModelSerializers序列化正向查询和反向查询

from rest_framework import serializersfrom users.models import UserInfoclass UserInfoSerializer(serializers.Serializer): name = serializers.CharField(min_length=3,max_length=20) # 显示普通字段 ut = serializers.CharField(source='ut.type_n

2020-10-15 20:18:39 605

原创 django配置Base基类!!!!

class Base(models.Model): create_time=models.DateTimeField(auto_now_add=True,verbose_name="创建时间") update_time=models.DateTimeField(auto_now=True,verbose_name="更新时间") class Meta: abstract = True

2020-10-15 20:14:23 201

原创 微博三方登录原理

1.微博三方登录流程三方登录URLhttps://api.weibo.com/oauth2/authorize? client_id=4122644977&response_type=code &state=study& forcelogin=true& redirect_uri=https%3A%2F%2Fstudy.163.com%2Fsns%2Fweibo%2FoAuthCallback.htm%3Foaut hType%3Dlogin%26returnU

2020-10-09 11:32:13 148

原创 pipeline原理

1.pipeline原理redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.htmlredis四篇:https://www.cnblogs.com/xiaonq/category/1544586.html1.1 redis发送数据原理Redis是建立在TCP协议基础上的CS架构,客户端client对redis server采取请求响应的方式交互。一般来说客户端从提交请求到得到服务器相应,需要传送两个tcp报文。设想这样的一个场景,你要

2020-10-08 18:49:13 451

原创 图片验证码和短信验证码 流程图

2020-10-08 11:47:12 1154

原创 Git简易的命令行入门教程

简易的命令行入门教程:Git 全局设置:git config --global user.name "wjz2844829264"git config --global user.email "7618738+wjz2844829264@user.noreply.gitee.com"创建 git 仓库:mkdir b10cd b10git inittouch README.mdgit add README.mdgit commit -m'[- 删除]'git commit -m'

2020-10-06 19:44:35 155

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除