自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python3 redis默认返回是byte类型的问题

在python3中redis读取数据默认返回byte类型,假如是中文数据,则需要 .decode('utf-8') 转换,那怎么更方便读取直接是utf-8格式呢?设置decode_responses=True即可import redisrdb = redis.Redis(host='localhost',port=6379,db=0,decode_responses=True)...

2020-10-22 17:21:59 514

原创 【报错】Python Flask项目启动时候报:urls must start with a leading slash

源代码:@app.route('index',methods=['POST'])def calChanzhi_stage_search(): return json.dumps({"code": 200, "msg":"测试"}, indent=4, sort_keys=True, default=str, ensure_ascii=False)错误原因:蓝图(Blueprint)下面的一个目录的路由@api.route(‘index’)没加斜杠修改后的代码:@app.rout

2020-10-19 10:09:03 465

原创 【报错】Python3 AttributeError: ‘str‘ object has no attribute ‘decode‘

错误代码:str = '张三'res = str.decode('utf-8')print(res)正确代码:str = '张三'res = str.encode('utf-8').decode('utf-8')print(res)

2020-10-09 11:00:48 210

原创 【报错】flask-socketio failed: Error during WebSocket handshake: Unexpected response code: 500

今天遇到个很奇怪的问题,flask-socketio本地跑的时候,没有报错,但是一旦部署到线上,就报了 failed: Error during WebSocket handshake: Unexpected response code: 500 的错误。后来查看服务器日志:出现了以下错误:RuntimeError: You need to use the gevent-websocket server. See the Deployment section of the documentation fo

2020-10-09 10:57:21 4927 1

原创 【已解决】Python MemoryError的问题

1、打开pycharm安装目录D:\PyCharm Community Edition 2019.2\bin,找到pycharm.exe.vmoptions文件,编辑源文件:-Xms128m-Xmx768m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-XX:CICompilerCount=2-Dsun.io.useCanonPrefixCache=false-D

2020-09-21 12:00:00 40036 6

原创 Flask SQLAlchemy Model中Column列类型和属性

常用的SQLAlchemy列类型:类型名python类型说明Integerint普通整数,一般是 32 位SmallIntegerint取值范围小的整数,一般是 16 位BigIntegerint 或 long不限制精度的整数Floatfloat浮点数Numericdecimal.Decimal定点数Stringstr变长字符串Textstr变长字符串,对较长或不限长度的字符串做了优化Unicodeunicode

2020-09-15 14:29:05 1335

原创 Python爬虫—curl的基本用法

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。参数说明示例-A设置user-agentcurl -A “chrome” https://www.baidu.com-X用指定方法请求curl -X POST http://httpbin.org/post-I只返回请求的头信息curl .

2020-09-11 14:40:40 929

转载 ES6常用知识点小结

ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript2015(简称ES2015)。虽然浏览器在不断更新,但并不是所有用户的电脑浏览器都支持ES6,所以在使用的过程中建议还是转成es5,保证代码的可执行性。至于转换的方式大家可以用Babel或者Traceur转码器。1. let 和 const在ES6以前,Javascript并没有块级作用域的概念,有的是全局作用域和函数作用域,而let的出现就是.

2020-09-09 10:43:43 135

原创 Layui table合计自定义保留位数

Layui table计算合计行的时候,默认是保留2位小数的,所以要想自定义保留小数,那么久必须修改table.js源代码,修改方式如下:layui2.5.6下的table.js:没有源文件的可以这边下载:https://github.com/sentsin/layui/edit/master/src/lay/modules/table.js第931行,可以搜索 数据合计行 关键字,新增以下两行代码:,fixedNum = 2;if (item3.fixedNum != 2){ thisT

2020-09-08 10:18:08 2600

原创 【已解决】Ubuntu:Target file system doesn‘t have /sbin/init启动错误,利用fsck修复分区

Ubuntu启动时候错误,导致服务启动不了:mount: mounting /sys on /root/sys failed: No such file or directorymount: mounting /dev on /root/dev failed: No such file or directorymount: mounting /sys on /root/sys failed: No such file or directorymount: mounting /proc on /roo

2020-09-04 15:21:19 1740

原创 如何将网站发布上线,配合宝塔Linux面板,小白级教程

一、准备:1、云服务器(我这边使用的是ContOS7.6),需要其公网IP,阿里云/腾讯云购买2、Xshell6:链接:https://pan.baidu.com/s/1vLLFBsKguJGpvE-_ALzd5A 提取码:1ram3、准备发布上线的网站源码小白慢慢踏全栈之路,多多点赞关注收藏支持哈~~二、打开Xshell6 → 新建会话 → 主机输入云服务器公网ip,名称随意,协议SSH,端口22 → 连接 → 接受并保存 → 输入服务器用户名密码(买服务器时候会设置的) → 连接成功三

2020-09-04 10:20:59 4374 1

原创 Python精确四舍五入/保留小数位数问题及Excel数据自动对比的优化处理

2020-09-01 18:52:52 4491

原创 openpyxl写入xlsx大量数据时报错:MemoryError Error in atexit._run_exitfuncs: Traceback (most recent call last):

场景: Python使用openpyxl库时候,在写入5w行数据量生成excel的时候,报错:MemoryError Error in atexit._run_exitfuncs: Traceback (most recent call last): File "E:\python-excel\venv\lib\site-packages\openpyxl\worksheet\_writer.py", line 33, in _openpyxl_shutdown os.remove(path) Permi

2020-08-31 15:07:53 6192 3

原创 xshell中按退格符号出现^H

问题 : xshell中按退格符合出现^H,无法实现退格解决: 文件—打开—属性—键盘—DELETE键序列,BACKSPACE键序列选第二个

2020-08-19 16:23:30 1203

原创 vscode回车2个空格,缩进2个空格的设置

左上角:文件→首选项→设置→常用设置→Tab Size改成2

2020-08-12 10:00:48 7174

原创 如何理解Vue中的MVVM思想

View层:1、视图层;2、在我们前端开发中,通常就是DOM层;3、主要的作用是给用户展示各种信息。Model层:1、数据层;2、数据可能是我们固定的死数据,更多的是来自我们服务器,从网络上请求下来的数据;ViewModel层:1、视图模型层;2、视图模型层 是View和Model沟通的桥梁;3、一方面它实现了Data Binding,也就是数据绑定,将Model的改变实时的反应到View中;4、另一方面它实现了DOM Listener,也就是DOM监听,当DOM发生一些事件(点击..

2020-08-11 15:55:38 811

原创 Python Redis哈希hash存储和读取json字符串

import redisrdb = redis.Redis(host='localhost',port=6379,db=1)#模拟数据data = [ {"name":"张三","age":18}, {"name":"李四","age":20}]#redis哈希存储,注意这边必须是以字符串形式存储for x in data: hsname = x['name'] rdb.hset('student',hsname ,str(x))读取数据:list = rdb.hgetall(

2020-07-24 16:11:04 2459

原创 Python按照先后顺序,对列表进行多条件自定义排序

需求:对指定的列表,按照以下顺序排序:①先按照【编号】从小到大进行排序②再按照列表中包含【方案、扩初、施工图、后期服务】的顺序进行排序实现:自定义排序函数reversed_cmp,并将这个函数传入sort或sorted方法中。在python3中,借助functools包来完成。import functoolsarr = [ '2020-1001_有方案', '2020-1001_无后期服务', '2020-1001_有扩初', '2020-1001_无施工图

2020-07-23 17:35:27 1867

原创 echarts报错Dom’s width & height should be ready before init.

原代码:html:<div id="cont" class="hist-main"></div>css:.hist-main{ height: 300px; width: 48%; border: 1px solid #ddd; padding:10px 10px; margin-bottom: 20px;}js:var dom = document.getElementById("cont");var myChart =

2020-07-07 09:11:41 907 1

原创 openpyxl保存xlsm格式无法打开的问题

python编辑xlsm,带有vba的excel时候,另存为或者保存为xlsm的时候,报错:Excel无法打开文件"3设计合同项目编号表ans.xlsm",因为文件格式或文件扩展名无效。请确认文件无损坏,并且文件扩展名与文件的格式匹配出错代码:import openpyxlwb = openpyxl.load_workbook('3设计合同项目编号表.xlsm')wb.save('3设计合同项目编号表ans.xlsm')出错结果:解决:在load的时候加上keep_vba=True,即:

2020-06-12 18:04:59 3891 2

原创 【已解决】Ubuntu19.04部署Python selenium+Chrome时遇到的各种坑

sudo add-apt-repository ppa:linuxuprising/libpng12sudo apt updatesudo apt install libpng12-0

2020-06-05 17:08:55 1010

原创 Python Flask微信小程序登录详解及登录api实现

一、官方登录流程图微信小程序登录后获得session_key后,返回了encryptedData,iv的数据,其中encryptedData解密后包含了用户的信息,解密后的json格式如下:{ "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city": "CITY", "province": "PROVINCE", "country": "COUNTRY", "avat

2020-06-04 15:08:55 5165 2

原创 Python Flask文件上传api

from werkzeug.datastructures import FileStoragefrom flask_demo.app.models.user import User,Rolefrom flask_demo.app import app,dbfrom flask import jsonifyimport osimport jsonimport hashlibimport uuid@app.route('/upload',methods=['POST'])def upload

2020-06-01 10:51:27 773

原创 Python Flask实现登录、登录超时验证功能

思路:1、用户输入账号密码,请求登录api;2、账号不存在,返回“账号不存在”信息;3、账号存在,判断登录密码是否相等(加密后的密码),若不相等,返回“密码不正确”信息,若相等,生成用户token(用户令牌),并且设置登录时效性,将token返回给前端设置本地缓存;4、访问任意api,检查是否登录/登录是否超时,若未登录或登录超时,则返回“Need Login”信息,用户需要重新登录。models:user.pyclass User(db.Model): __tablename__ =

2020-05-29 18:17:55 2142

原创 【报错】sqlalchemy.exc.ArgumentError: Mapper mapped class Role→role could not assemble any primary key

出错代码:#生成抽象模型,不会创建模型对应的表,减少重复代码class BaseModel(db.Model): __abstract__ = True id = db.Column(db.Integer, pramary_key=True, autoincrement=True) name = db.Column(db.String(20), unique=True, nullable=False)class Role(BaseModel): __tablenam

2020-05-28 10:36:47 2122

原创 Redis学习笔记 - Python操作Redis

redis文档:http://redisdoc.comredis是一个高性能的键值数据库。是当前最热门的的的NoSql数据库之一,也被人们称为数据结构服务器。redis应用:1、高速缓存服务(用户经常访问的数据从数据库搬到内存)2、实时排行榜3、投票点赞4、验证码服务5、消息队列等等应用场景…查看redis版本redis-server --versionredis-cli --version查看redis进程netstat -nap | grep redis启动redisre.

2020-05-21 11:17:28 275

原创 Python 计算代码执行时间

代码执行时间 = 结束时间 - 开始时间stime = datetime.datetime.now()#这边是你执行的代码etime = datetime.datetime.now()print(etime - stime)

2020-05-15 15:30:57 197

原创 Layui layer.alert详解

layer.alert('感叹号', { icon: 0, title: '提示' })layer.alert('对勾', { icon: 1, title: '提示' })layer.alert('红叉', { icon: 2, title: '提示' })layer.alert('问号', { icon: 3, title: '提示' })layer.alert('灰锁', { icon: 4, title: '提示' })layer.alert('红哭脸', { icon: 5, title

2020-05-15 11:24:33 9588

原创 SqlAlchemy—SQL优化之union写法代替or写法

SQL优化:应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描原语句:select * from table where id=666 and num=10 or num=20SqlAlchemy or语句list = Table.query.filter( Table.id == 666 ,or_(Table.num == 10,Tabl...

2020-05-08 14:20:02 1907 5

原创 SqlAlchemy Could not evaluate current criteria in Python: “Cannot evaluate clauselist with operator

目标:筛选数据库中2020-04月份的数据,并且批量更新is_freeze字段为1原语句:Kaipiao为表名,Kaipiao.kprq为开票日期month = '2020-04'obj = {'is_freeze':1}sql = f"Kaipiao.query.filter(Kaipiao.kprq.like('{month}%')).update({obj})"list= ev...

2020-05-07 18:43:26 2406

原创 使用echarts gallery制作绍兴市线图可视化效果

平时项目中,我们经常会需要引入地图,省或者市或者区。可以应用在各种大数据可视化领域。先看效果吧:一、获取绍兴市geoJson数据文件: https://gallery.echartsjs.com/editor.html?c=xmCAi_XNuJ二、官网下载echarts.min.js: https://echarts.baidu.com/download.html三、下面是实现这个效果的...

2020-04-28 09:52:44 2369 3

原创 解决/阻止 div层内的div层点击事件冒泡触发的小方法

两个层都绑定了点击事件,但是点击in层的时候,同时也会触发out层的点击事件。但是他并不希望触发out的点击事件,只希望触发in层的点击事件,该怎么处理。页面代码:<div style="width: 400px;height: 400px;background-color: #678678;" id="outDiv"> out <div style="wid...

2020-04-27 15:13:45 1448

原创 如何使ajax请求执行完成后再执行其他操作

ajax强大之处在于它的异步请求,但是有时候我们需要ajax执行彻底完成之后再执行其他函数或操作?解决:ajax请求时,设置async: false(默认为true),进行同步请求,即Ajax请求将整个浏览器锁死,只有请求结束后才能执行其他操作。...

2020-04-27 15:10:20 2227

原创 如何获取url里的参数值

function getUrlParam(name){ var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); var strValue = ""; if (r!=nu...

2020-04-27 15:09:04 174

原创 为什么我只改了JS数组中的一个对象的元素的值,其他对象的元素值都跟着变了

var array=[{ "name":"张三" }, { "name":"李四" }, { "name":"王五" }]; var array1=array;var array2=array;var array3=array;array[0]['name']='赵六'...

2020-04-27 15:07:41 715

原创 微信小程序wx.navigateTo 死活跳转不了页面

这个坑让我捶胸顿足,明明语法和参数都是对的,为什么页面就是无法跳转?!原因:在app.json中我设置了导航栏的跳转路径,也就是将页面作为底部导航栏的页面了,可以使用wx.switchTab来进行跳转。toList:function(){ wx.switchTab({ url:'../list' })}...

2020-04-27 15:02:23 1191

原创 Layui使用soulTable导出错误:Cannot read property 'cols' of undefined

Layui在使用第三方组件库soulTable导出功能的时候,报了以下错误:tableFilter.js?v=1587626204049:2498 Uncaught TypeError: Cannot read property 'cols' of undefined at Object.export (tableFilter.js?v=1587626204049:2498) at Object...

2020-04-23 15:43:44 2106 2

原创 Python连接Redis数据库报错:redis.exceptions.DataError: Invalid input of type: 'NoneType'

报错提示:redis.exceptions.DataError: Invalid input of type: 'NoneType'. Convert to a byte, string or number first.+查看redis版本:发现redis=3.2.1pip3 freeze原因分析:Python的第三方库redis升级到3.0后仅接受用户数据为字节、字符串或数字(整数,...

2020-04-21 11:25:07 3622 1

原创 mysql更新某个字段为null或""

//更新为nullupdate user set eamil = null where number = '123456';//更新为空update user set eamil = “” where number = '123456';

2020-04-17 13:40:54 6923

原创 mysql筛选某个字段为null的数据

SELECT * FROM `table_name` WHERE ISNULL(`status`) is TRUE

2020-04-17 13:37:14 4270 1

空空如也

空空如也

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

TA关注的人

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