笔记
程序员托马斯
真香程序员
展开
-
kafka同步数据脚本示例
# -* coding:utf8 *-import sys, os, djangoos.environ["DJANGO_SETTINGS_MODULE"] = "IFS.settings"django.setup()import jsonfrom utils.ERP.erp_database import ERPDBsys.path.append('./')from kafka import KafkaConsumerfrom script.syn_procurement_data i.原创 2022-01-19 13:58:51 · 2262 阅读 · 0 评论 -
多层字典嵌套 取相应的数据
from django.test import TestCaseimport requestsglobal_dict = dict()def insert_data(data): """递归 把所有部门对应的id_hierarchy取出放入一个大字典中""" global_dict[data["id"]] = data["id_hierarchy"] sub_departments = data["sub_departments"] if sub_departm.原创 2022-01-17 09:11:19 · 405 阅读 · 0 评论 -
django 使用原生sql的方法
import loggingimport psycopg2from DBUtils.PooledDB import PooledDBfrom psycopg2 import poolfrom psycopg2._psycopg import ProgrammingErrorfrom psycopg2.extras import DictCursorfrom utils.ERP.erpsettings import ERP_SQL_INFOlogger = logging.getLogg.原创 2021-12-31 09:37:35 · 359 阅读 · 0 评论 -
python多层list展平为一层的方法
Python中多层List展平为一层 - 好奇不止,探索不息 - 博客园转载 2021-12-31 09:31:30 · 1361 阅读 · 0 评论 -
update_or_create方法会自动修改别的时间字段的时间值 减8h
工作中更新a表b时间字段的时间值,但a表c时间字段的值会自动更新,目前不知道原因,有空看看源代码 可真是尴尬了原创 2021-12-28 10:18:39 · 129 阅读 · 0 评论 -
Python asyncio异步学习笔记
协程协程不是计算机提供的机制,是程序员人为定义的。协程被称为微线程,是一种用户态的上下文切换的技术。简而言之就是通过一个线程实现代码块相互切换运行。greenlet实现协程asyncio异步编程实战案例...原创 2021-12-12 18:19:00 · 1037 阅读 · 0 评论 -
async 异步协程的一次实践
需求是要发送多次请求获取数据,时间太慢 所以使用异步协程来解决 Python版本3.5一开始是单独写了一个文件运行没有问题import asyncioimport jsonimport aiohttpfrom IFS.settings import AUTH_URL_ADDRESSdepartment_ids = [2, 3, 4]list_seller = []async def get_department_users1(department_id): globa..原创 2021-12-01 15:45:15 · 197 阅读 · 0 评论 -
sql某字段为null 查询语句
where picking_id = 35079351 and c.cabinet_number is null原创 2021-11-25 11:29:56 · 5571 阅读 · 0 评论 -
ORM查询对象的query 方法 查询sql语句
# 关联的需求单号不能为空,而且只需要内部调拨模块那五个状态的数据,另外两个状态不要 move_data = StockMove.objects.exclude( Q(procurement_order_id__isnull=True) | Q(state__in=['waiting', 'ready'])).order_by('-id') print(move_data.query)结果:SELECT `stock_move`.`i...原创 2021-11-25 11:28:55 · 4194 阅读 · 0 评论 -
ORM filter datetime 字段 __month 查询数据失败
原因数据库没有django对应的时区解决mysql装载时区表详细原因和解决方法:解决-Django使用filter过滤时间,无法获取月份的问题 - JonPan - 博客园原创 2021-11-10 11:19:49 · 1432 阅读 · 0 评论 -
常用数据处理函数
字符串部分1 len函数 计算字符串长度不区分数据类型 所有字符按一个字符计算a = "张asd32334d"print(len(a))# 计算字符串所占的字节数 utf-8下汉字占三个字节print(len(a.encode()))end:10,122 join函数将seq中每两个相邻元素中间插入字符串str。返回形成新的字符串。语法: 'str'.join(seq)参数说明str:分隔符。可以为空seq:要连接的元素序列:字符串、元组、字典上面的语法即...原创 2021-10-17 20:37:20 · 1901 阅读 · 0 评论 -
并发,并行和高并发
并发和并行的区别并发是指在一个时间段内有多个进程在执行,只不过在人的角度看,因为这个计算机角度的时间实在是太短暂了,人根本就感受不到是多个进程,看起来像是同时进行,这种是并发,而并行指的是在同一时刻有多个进程在同时执行。一个是时间段内发生的,一个是某一时刻发生的,如果是在只有一个CPU的情况下,是无法实现并行的,因为同一时刻只能有一个进程被调度执行,如果此时同时要执行其他进程则必须上下文切换,这种只能称之为并发,而如果是多个CPU的情况下,就可以同时调度多个进程,这种就可以称之为并行。从这里我们可以原创 2021-09-25 14:53:19 · 779 阅读 · 0 评论 -
线程锁的使用 (with语句加普通锁写法)
with语句Python Threading中的Lock模块有acquire()和release()两种方法,这两种方法与with语句的搭配相当于,进入with语句块时候会先执行acquire()方法,语句块结束后会执行release方法。import threadingimport timelock = threading.Lock()class Singleton(): def __init__(self): time.sleep(1) @clas原创 2021-09-23 09:07:23 · 1148 阅读 · 0 评论 -
python基础的查漏补缺(重难点)笔记
字典的增删改查增d={}d["key"]=180删d = {"name":"zhangsan","age":12}# 删除指定键值对del d["age"]# 删除指定键值对 并把删除的值 赋给变量age=d.pop("age")print("age")# 结果:12print(d)# 结果 d ={"name":"zhansan"}popitem()方法的使用删除最右边的键值对,并以元组的形式返回该键值对字典如为空 则报错d = {"name": "zhangsan"原创 2021-09-14 20:24:00 · 2001 阅读 · 1 评论 -
类中定义装饰器 装饰类中的实例方法
# def decorate(func):# def inner(self,value):# func(self,value)# print(self.v)## return innerclass Computer(): def __init__(self, value): self.v = value def decorate(func, ): def inner(self, value):.原创 2021-09-10 10:25:04 · 152 阅读 · 0 评论 -
一对多关系数据查询后序列化返回前端 related
# 工单数据表class Worksheet(models.Model): """ 工单 """ user_id = models.ForeignKey(LoginUser, default=None, on_delete=models.CASCADE, db_column='w_e_id', verbose_name="工单发布人") w_r_id = models.OneToOneField(En.原创 2021-08-03 14:03:17 · 203 阅读 · 0 评论 -
django drf框架 非必填项 不填数据发请求报keyerror
有点莫名其妙的错误 今天有一个这个数据项是非必填项使用drf框架默认全部必填 如果非必填则需在序列器文件中备注 allow_blank=True 意思是前端可不填此数据原创 2021-07-28 11:15:38 · 455 阅读 · 0 评论 -
python 字典与json的区别 以及json数据的传输与解析
python 字典与json的区别一. python的字典和json字符串的区别python中,json和dict非常类似,都是key-value的形式,而且json和dict也可以非常方便的通过dumps和loads互转,但是它们之间还是有区别的:json:是一种数据格式,是纯字符串。可以被解析成python的dict或其他形式。dict:是 一个完整的数据结构,是对hash table这一数据结构的实现,是一套从存储到提取都封装好的方案。它使用内置的hash函数来规划key对应的value的存储原创 2021-07-27 11:27:08 · 377 阅读 · 0 评论 -
图片格式 邮箱格式 电话格式验证django代码
def re_picture_form(picture): suffix = picture.name.rfind('.') if suffix == -1: return 1 # 图片不正确 file_postfix = picture.name[suffix + 1:] if file_postfix not in ['jpg', 'png', 'gif', 'bmp', 'jpeg', 'JPG', 'PNG',原创 2021-07-20 10:27:45 · 234 阅读 · 0 评论 -
django 多对多关系返回指定属性的去重随机数据
# 根据知识库文章标签 返回知识库class Choose_Knowledge_Tip1(GenericAPIView): authentication_classes = [] permission_classes = [] def get(self, request, *args, **kwargs): # 传入标签 data = request.GET.getlist('data[]') # 如果数据中含有data中的标签原创 2021-06-01 10:21:28 · 70 阅读 · 0 评论 -
利用和风平台api接口获取城市天气信息
1 注册和风平台账号,创建 应用,获取key2 阅读和风开发接口文档阅读开发文档可知,查询某地天气 需要知道某地的id3 获取城市id# 获取地点iddef get_location(city_name): location_url = 'https://geoapi.qweather.com/v2/city/lookup?' # city_name = '北京' key = "你的key" url = location_url + "location="原创 2021-04-25 16:39:47 · 2131 阅读 · 0 评论 -
python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)
1.获取秘钥调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥。链接如下:添加链接描述下面是百度创建的app设置:2.调用API将经纬度信息解析成json信息def get_loca(lat, long): url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak=‘你的key’=json&coordtype=wgs84ll&location='+str(long)+','+str(lat)原创 2021-04-25 16:14:39 · 1083 阅读 · 0 评论 -
Docker学习笔记
docker是一个用来装应用的容器,任何程序都可放在docker中。1.1 docker思想1.1.1 集装箱没有集装箱之前运输货物,东西零散容易丢失,有了集装箱之后货物不容易丢失,有了docker的集装箱可以保证我们的程序不管运行在哪不会缺东西.1.1.2 标准化运输方式docker运输东西有一个超级码头,任何地方需要货物都由鲸鱼先送到超级码头,然后再由鲸鱼从超级码头把货物送到目的地去.对应的技术来说,比如我们要把台式机的应用部署到笔记本上,我们可能选择用QQ发过去或者用U盘拷过去,doc原创 2021-03-10 15:26:08 · 250 阅读 · 0 评论 -
pychrm git代码管理使用笔记
添加git账户setting – version contronl – github点击右上角加号 我的pycharm不能使用账号密码登录 只能使用token寻找token1 登录git全选获得token把token填入登陆成功建立仓库建立本地仓库建立远程仓库...原创 2021-02-26 14:43:11 · 178 阅读 · 0 评论 -
解决报错TypeError: Field ‘id‘ expected a number but got <BoundField value=10 errors=None>.
原创 2021-01-26 10:05:33 · 10870 阅读 · 0 评论 -
django mysql数据导出excel表功能的实现 根据日期导出 以及直接在浏览器端实现下载
根据时间来导出excel表的数据如果传入日期 就导出日期的表的数据,如果不传入,则导出全部def date_select_input(request): starttime = request.GET.get('start_time') # 日期 endtime = request.GET.get('end_time') if not starttime: list_obj = Input.objects.all() else: star原创 2021-01-07 10:27:07 · 414 阅读 · 1 评论 -
django 巧妙实现token验证
首先就是要产生token产生随机token的代码这个可以自己修改产生随机验证码的方式# 身份验证 token产生def generate_token(name): c_time = str(time.time()) r = str(random.random()) return hashlib.new("md5", (c_time + r + name).encode("utf-8")).hexdigest()在网上查看了token方法是用户登录后 后端直接生成toke原创 2021-01-07 09:51:31 · 1855 阅读 · 0 评论 -
django DRF框架学习心得
从事开发两月有余 一直使用drf 框架进行django后端开发,因种种原因及个人懈怠仓促实践开发,对drf框架的原理及多种用法一知半解。今幡然醒悟,浪子回头,重新系统的学习一下drf开发,及结合两月的开发经验和理解。特写笔记,以供自己学习回顾和朋友们参考学习。1Django框架的序列化和反序列化学习本框架首先要搞清楚,什么是序列化及反序列化,因为序列化是前后端分离框架的核心!序列化:将模型对象转换为json数据 称之为 序列化 后端向前端传数据 (后传前,序列化)将json转换为模型 称之为 反原创 2020-12-08 15:10:16 · 719 阅读 · 2 评论 -
django 导出数据到excel表 导出excel表到目标路径及客户端下载
python导出excel表利用的是xlwt模块下面是代码import osfrom xlwt import Workbookfrom info import modelsdef excel_export(): list_obj = models.Tag.objects.all() if list_obj: # 创建工作薄 ws = Workbook(encoding="UTF-8") w = ws.add_sheet(u'数据报原创 2020-11-30 09:19:38 · 524 阅读 · 0 评论 -
django 分页功能实现
1 从django框架里导入paginator2 django框架不支持使用request.POST.get取前端ajax传回来的值所以方法用get 不要用post方法原创 2020-11-27 13:42:19 · 156 阅读 · 0 评论 -
Django+nginx+uwsgi前后端分离 阿里云linux系统部署
本人第一次进行项目部署,前前后后花了大约一周多时间,遇到了各种错误,才部署成功,特此记录,一是后来再部署可以减少许多错误,而是朋友们也可以借鉴,不足之处,多多包涵。首先我们要大致弄懂nginx与uwsgi的原理和作用,否则非常抽象,配起来也是糊里糊涂。简单来说就是nginx接收httpq请求 nginx访问静态资源,把访问动态资源的要求转发给uwsgi服务器。具体点的讲解博客如下nginx与uwsig安装操作软件Xshell1 查看阿里云安全组把应该打开的端口打开,否则浏览器不能访问,常用的端口有原创 2020-11-09 17:13:34 · 1151 阅读 · 10 评论 -
Linux下把redis配置成系统服务报Please select the redis executable path [] Mmmmm... it seems like you错误
我看网络上有两种办法经尝试 均无效于是大道至简直接更换redis版本降低 我安装的是安装成功铁子们 记住一句话 当错误实在解决不了 就暴力更换版本试试听懂掌声!原创 2020-10-16 16:09:37 · 472 阅读 · 1 评论 -
如何使用本地配置好的虚拟环境
首先建立好本地的虚拟环境建立步骤略使用:1 2 点击+3 找到你虚拟环境存放的位置 注意要选择到虚拟环境中Script中的python.exe文件4 点击ok5 点击ok 完成配置原创 2020-09-18 15:41:00 · 276 阅读 · 0 评论 -
报错{‘172001‘:‘网络错误‘} windows端
使用荣联云第三方通讯软件时,报错{‘172001’:‘网络错误’},原因是_serverIP问题 下面是正确配置_serverIP = ‘app.cloopen.com’配置完出现{‘statusCode’: ‘111109’, ‘statusMsg’: ‘【账号】请求地址Sig校验失败’}原因是_accountSid _accountToken问题 登录自己账号 查看正确的账号 配置完毕就可以了...原创 2020-09-07 16:15:30 · 846 阅读 · 0 评论 -
redis报错: redis.exceptions.ResponseError: value is not an integer or out of range
我把redis安装在ubantu 使用django框架向redis传值时遇见了这个错误 一开始是目标计算机拒绝连接 注释了redis配置文件中的conf文件中的bind 127.0.0.1 成功连接然后遇见了标题的问题csdn上有位朋友说版本问题 鼓捣半天没按上合适的版本看了一下redis3.0 的文档 ,说新版本的传参位置发生变化setex方法的传参顺序变成(name, time, value),不再是之前的(name, value,time)切换参数顺序后 成功...原创 2020-09-06 20:16:13 · 926 阅读 · 0 评论 -
django-导入包时导入语句标红线 但运行不报错的原因
如图 导包路径下标红线 但运行不报错因为我们的项目结构pycham不认识 标准结构是子应用创建在根目录下解决办法将apps设为导包的根路径解决问题原创 2020-09-06 16:52:40 · 1074 阅读 · 0 评论 -
window下的git merge的使用
如果要进行分支的融合操作 必须要切换到主分支例现在在分支pay中 进行融合操作失败先切换到主分支 再进行融合操作 成功原创 2020-08-31 22:33:42 · 203 阅读 · 0 评论 -
worldcloud库的使用 极其分析文本生成词云的案例
worldcloud库的基本使用worldcloud库把词云当成一个wordcloud对象wordcloud.WordCloud()代表一个文本对应的词云可以根据文本中词语出现的频率等参数绘制词云绘制词云的形状,尺寸颜色都可以设定worldcloud库的常规方法w=world.WordCloud()以WordCloud对象为基础 配置参数 加载文本 输出文件方法1 w.generate(txt) 向WordCloud对象w中加载文本txt,>>>w.generate("原创 2020-08-24 17:32:58 · 6098 阅读 · 0 评论 -
python中创建多个变量
python作为一种弱类型语音 在创建多个变量时与其他语言稍有不同ex:a,b=1,2print(a,b)输出1 2这种创建变量方式本质上是对元组(1,2)进行解包a,b=(1,2)print(a)print(b)输出12正规的定义方式是a=1;b=2这种定义方式也是唯一用到;的python语句...原创 2020-08-23 14:15:13 · 1507 阅读 · 0 评论 -
python中的可变类型与不可变类型
python中的可变类型与不可变类型区别较大,另int类型较其他不可变类型还有细微不同总的来说 python中可变类型有列表,字典,集合 不可变类型有字符串 数字 元组对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(新开辟了一块内存地址),如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收。不可变类型以int型为例 实际上 i+=1并不是在原有的int对象上加1,而是重新创建一个value为6的对象,i这个引用指向这个新对象原创 2020-08-19 08:55:31 · 359 阅读 · 0 评论