服务器
文章平均质量分 61
山水好风光
这个作者很懒,什么都没留下…
展开
-
django3.x、django2.x、django1.x共用同一用户系统兼容性处理
背景最近项目重构,部分模块需要迁到新项目中开发;新项目使用django3.2,老项目使用django2.0;问题在本地同时启动新老项目,同一账号登录其中一个项目后,另一个登录过的项目需要重新登录解决查看django认证系统源码,发现django3.2和django2.0加密迭代次数iterations不一样查看Django源码,iterations对应django版本如下:django3.2 django2.0 django1.8 260000 1000原创 2021-07-16 17:22:07 · 335 阅读 · 0 评论 -
Python全局变量在不同模块中共享
全局变量引用与修改使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字a = 1b = [1,2]def func(): print(a, b)if __name__ == '__main__': func()使用到的全局变量,需要在函数中修改的话,就涉及到歧义问题a = 1b = [1,2]def func(): a = 2 b[0] = 3 print(a, b)if __name__ =原创 2021-05-11 11:31:07 · 5150 阅读 · 1 评论 -
django模板报错:TypeError: ‘WSGIRequest‘ object is not subscriptable;
背景调试代码时需要查看ORM对应的SQL,于是将日志级别由INFO调整到DEBUG,此时发现控制台有报错,如图:解决根据代码提示是Django源码提示报错,查看源码后发现是dango模板类报错,在错误位置打印相关变量发现没有msg_num。于是在IDE中全局搜索msg_num,在base页面发现了问题。页面使用了msg_num,此功能不再使用页面没有及时清理,将代码屏蔽后控制台不再报错。当然线上因为日志级别较高,此bug不会暴露。本地开发时可以将日志级别调低,将问题全部暴露解决,提高原创 2021-04-25 10:55:37 · 1419 阅读 · 0 评论 -
django web本地开发,解决相同IP不同端口cookie和session冲突
背景本地测试使用同一源码部署的2个站点,发现其cookie是公用的,会相互影响演示站点A:http://127.0.0.1:8002/站点B:http://127.0.0.1:8004/1. 站点A登录后,浏览器获取sessionid2. 站点B登录后,浏览器获取sessionid站点A和B的sessionid值一样3. 站点A退出登录,sessionid被清除4. 在站点B刷新页面,sessionid也消失解决django默认的存储账号coo..原创 2021-04-12 17:34:11 · 768 阅读 · 0 评论 -
MFA多因素验证
需求资源后台增加二次认证,提高系统安全性。原理要点说明MFA:即Multi-FactorAuthentication多因素认证,是需要一部智能手机并安装虚拟MFA应用程序即可在账户上加上一层安全保险。 TOTP算法:即Time-Based One-Time Password基于时间的一次性密码,其核心内容包括以下三点:共同密钥共同时间共同签署方法逻辑说明后台生成密钥,然后以二维码形式展示给用户;用手机扫码添加MFA账号,生成6位安全码;将安全码添加到网站,确认绑定;每次登陆,通.原创 2021-03-22 11:43:12 · 2777 阅读 · 0 评论 -
使用nodejs提取mathjax长公式
文章目录前言一、服务选择二、具体实施1.框架选取2.创建项目3.部署工具4. docker镜像5. 服务启动命令总结前言近期有长公式造成产品体验不好,因此需要做个服务将长公式提取出来一、服务选择之前已经使用python脚本对数据提取分析,因此希望做成独立的服务嵌入到已有的数据分析体系中,查阅资料后最终确定使用nodejs的第三方库mathjax-node来实现,以http服务的方式实现二、具体实施1.框架选取因使用nodejs实现http服务,因此使用express框架实现2.创建项目原创 2020-11-15 23:23:31 · 710 阅读 · 0 评论 -
celery和django结合处理异步任务
问题开发中涉及到一些执行时间长的任务,造成用户等待时间过长影响体验,并发量大的话任务执行也不稳定。方案使用celery分布式任务调度框架,生产者将任务先缓存至消息中间件,消费者从中间件获取任务执行;优势:1. 异步提升性能,任务生成和任务执行逻辑分离,降低耦合性,增强用户体验2. 数据缓冲,任务上报的速率由用户决定,服务端不可控,此模式可以缓存任务执行速率,达到流量削峰目的,避免引发系统崩溃3. 易于扩展,在...原创 2021-03-05 11:41:42 · 276 阅读 · 1 评论