自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 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 2261

原创 多层字典嵌套 取相应的数据

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 404

原创 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 357

转载 python多层list展平为一层的方法

Python中多层List展平为一层 - 好奇不止,探索不息 - 博客园

2021-12-31 09:31:30 1355

原创 update_or_create方法会自动修改别的时间字段的时间值 减8h

工作中更新a表b时间字段的时间值,但a表c时间字段的值会自动更新,目前不知道原因,有空看看源代码 可真是尴尬了

2021-12-28 10:18:39 128

原创 Python asyncio异步学习笔记

协程协程不是计算机提供的机制,是程序员人为定义的。协程被称为微线程,是一种用户态的上下文切换的技术。简而言之就是通过一个线程实现代码块相互切换运行。greenlet实现协程asyncio异步编程实战案例...

2021-12-12 18:19:00 1036

原创 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

原创 sql某字段为null 查询语句

where picking_id = 35079351 and c.cabinet_number is null

2021-11-25 11:29:56 5567

原创 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

原创 ORM filter datetime 字段 __month 查询数据失败

原因数据库没有django对应的时区解决mysql装载时区表详细原因和解决方法:解决-Django使用filter过滤时间,无法获取月份的问题 - JonPan - 博客园

2021-11-10 11:19:49 1431

原创 我就想要一个1024勋章

今天是2021年10月24日也是我做程序员的第二年。刚来到烟台,技术还是很渣,也没有什么朋友,但是同时给我了学习和独处的机会,程序员总是孤独的,因为孤独才能给我们更多时间去修炼技术,没有热爱或者不热爱,既然选择了这条路就要好好走下去,努力学习,承担起更多的责任!...

2021-10-24 15:58:35 97

转载 模型类对象直接变为字典

将orm中模型类对象转化为字典,简单粗暴的方法 - 耗油炒白菜 - 博客园

2021-10-23 15:56:36 119

原创 最易懂的左连接 右连接,内连接查询

左连接以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。下边以A表和B表为例子,A、B之间的左连接条件为:ano=bno;查询语句为:SELECT * FROM `A` LEFT JOIN B ON ano=bno;此语句的意思为 查询右表中bno属性值等于a表中ano属性值的语句,并且把a,b表中这两列属性值相等的数据都列出。eg1:A表中的只有1条记录,B表中2条记录,B.

2021-10-22 08:19:06 824

原创 常用数据处理函数

字符串部分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 1895

原创 Tornado框架学习

更好的支持高并发,建立更多的服务器连接底层原理IO多路复用IO多路复用支持三种方式:select,poll,epollwindows\Mac:selectlinux:三种都支持select:最多只能有1024个连接epoll:连接没有上限poll是过渡产物select epoll 运行机制ioloop中有多个socket对象(绑定了IP地址和端口号)select不断轮询所有socket对象(无论对象处于什么状态),直到有socket对象达到就绪状...

2021-10-09 06:05:28 819 1

原创 Tornado框架 视图类加装饰器 进行反爬 重复访问攻击验证

类装饰器主要思想业务和公共功能解耦注意步骤:1 定义new方法 引入要装饰的类的类对象以及类函数,然后返回inner函数在inner函数中处理验证和调用被装饰类的函数功能。2 定义检测静态方法3 在inner静态方法中检测,如果监测没问题则返回被装饰类的类方法,否则调用检测的静态方法import tornado.ioloopimport tornado.webuser_agents = [ "Mozilla/5.0 (Linux; Android 6.0; Nexu.

2021-10-05 21:25:35 187

原创 并发,并行和高并发

并发和并行的区别并发是指在一个时间段内有多个进程在执行,只不过在人的角度看,因为这个计算机角度的时间实在是太短暂了,人根本就感受不到是多个进程,看起来像是同时进行,这种是并发,而并行指的是在同一时刻有多个进程在同时执行。一个是时间段内发生的,一个是某一时刻发生的,如果是在只有一个CPU的情况下,是无法实现并行的,因为同一时刻只能有一个进程被调度执行,如果此时同时要执行其他进程则必须上下文切换,这种只能称之为并发,而如果是多个CPU的情况下,就可以同时调度多个进程,这种就可以称之为并行。从这里我们可以

2021-09-25 14:53:19 776

原创 线程锁的使用 (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 1143

原创 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 1993 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 151

原创 一对多关系数据查询后序列化返回前端 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

原创 django drf框架 非必填项 不填数据发请求报keyerror

有点莫名其妙的错误 今天有一个这个数据项是非必填项使用drf框架默认全部必填 如果非必填则需在序列器文件中备注 allow_blank=True 意思是前端可不填此数据

2021-07-28 11:15:38 455

原创 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 376

原创 图片格式 邮箱格式 电话格式验证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 232

原创 python卸载没卸载干净导致再次安装失败

找到python安装的exe文件点击repair先修复一下 然后再uninstall就可以了

2021-07-07 10:35:17 5210 5

原创 File “C:\python\Scripts\pip.exe\__main__.py“, line 4, in <module>安装了pip却无法使用解决

问题不难,庆幸你看到这个博客我找了一下午才找到原因原因是环境变量没有配好这样配 然后重新打开页面就可以了

2021-07-06 17:30:15 8554 1

原创 celery异步处理学习及定时器

参考学习链接链接一celery的作用为了让耗时的任务不影响用户体验,需要把耗时任务放到后台异步执行celery介绍Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,本章节我们先对其进行简单的了解,然后再去学习其他一些高级特性。 celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。celery的特点是:简单,易于使用和维护,有丰富

2021-07-02 17:08:25 217 2

原创 爬虫学习笔记1(超级详细)

爬虫学习笔记2021.5.201 爬虫概念模拟浏览器,发送请求,获取数据2 爬虫作用数据采集软件测试抢票 抢茅台网络安全3 爬虫的分类数量 是否获取数据 url与数据的关系4 爬虫的流程url发送请求 获取响应解析url如果地址是嵌套的,需点击调到另一个网页的,则需要提取url 再爬http协议复习http是明文传输,容易泄密https 有ssl进行加密 安全性高 但性能略低爬虫特别关注的请求头和响应头请求头host

2021-07-01 14:55:16 570

原创 django实现邮件发送功能

邮箱授权码设置在setting文件中进行邮件设置#邮件设置#Host for sending email.EMAIL_HOST = 'smtp.qq.com' # 发送方的smtp服务器地址#Port for sending email.EMAIL_PORT = 587 # smtp服务端口#Optional SMTP authentication information for EMAIL_HOST.

2021-06-30 14:02:23 351

原创 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

原创 django - 用户注册登陆的实现

状态保持浏览器请求服务器是无状态的 即用户请求时,浏览器,服务器无法知道之前的用户信息,每次请求都是新请求。无状态原因,浏览器和服务器使用socket套接字通信,服务器将请求结果返回给浏览器后,便关闭当前的socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。有时需要保持下来用户浏览的状态,比如用户是否登录过,浏览过哪些商品等实现状态保持主要有两种方式:类似联系使用手机 手机号存储在联系人或被联系人手机都可进行通话1在客户端存储信息使用cookie保存到客户端的数据叫cookie

2021-05-20 15:32:30 1196 2

原创 利用和风平台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 2128

原创 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 1082

原创 Pycharm去掉所有 # 注释

1Pycharm去掉项目所有 # 注释通过快捷键ctrl+shift+R 进入 项目全局替换窗口,点击右上角 勾选正则,然后 搜索框输入 (#.*) 即可 ,然后点击 replace all 去掉所有注释2 去掉单个文件注释ctrl+f

2021-04-12 09:07:14 5438

原创 Django paginator 分页器的简单使用

django框架已经有了paginator的包 只需调用后传一个页数的参数即可先导入contirb里面的包from django.core.paginator import Paginator定义函数的内容 records = Device.objects.all() # 获取分页的内容 page = int(request.GET.get('page')) # 获取页数 per_page = int(request.GET.get("per_page",

2021-04-08 14:03:12 275

原创 django 工程日志配置

知乎大佬描述本人是设置的在console中输出所有日志信息在log文件中只记录报错LOGGING = { 'version': 1, 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 'formatters': { 'standard': { # 日志格式 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(l

2021-03-15 14:33:14 192 2

原创 网站优化思路笔记

缓存层自建web缓存,或者购买CDN,将用户经常访问的,更新频率低的资源存放起来,这样用户再次请求相同资源的时候,就不会对后端的服务造成影响。为防止互联网上的恶意访问爬虫,我们应该做好相应的安全措施。缓存之类的措施一定要适合公司的当前业务,如果是项目的静态资源很多,只要我们购买的cdn够好,用户访问量可随便。搭建服务器集群,用户访问就近的地区服务器。用户请求由不同的多台服务器承担,减轻服务器访问压力,在用户使用量低的时间段,子服务器顺序把数据上传到总服务器上,总服务器整合完,把数据分发到子服务器上。

2021-03-12 16:36:28 73 2

原创 window sever服务器运行django 项目卡死解决

把快速编辑模式取消。现在是用前台进程调试,应该用后台进程跑服务。原因

2021-03-12 10:30:12 603

原创 Docker学习笔记

docker是一个用来装应用的容器,任何程序都可放在docker中。1.1 docker思想1.1.1 集装箱没有集装箱之前运输货物,东西零散容易丢失,有了集装箱之后货物不容易丢失,有了docker的集装箱可以保证我们的程序不管运行在哪不会缺东西.1.1.2 标准化运输方式docker运输东西有一个超级码头,任何地方需要货物都由鲸鱼先送到超级码头,然后再由鲸鱼从超级码头把货物送到目的地去.对应的技术来说,比如我们要把台式机的应用部署到笔记本上,我们可能选择用QQ发过去或者用U盘拷过去,doc

2021-03-10 15:26:08 250

原创 pycharm 数据表突然不能手动插入数据 别的数据表可以

今日 修改models 文件 并迁移数据库后修改的数据表突然无法手动插入数据网上没有答案 误打误撞 解决bug点击此处的刷新键 就好了

2021-03-05 14:33:10 256

水蒸气物联表.xlsx

水蒸气物联表 精确到小数点后三位

2021-05-07

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

TA关注的人

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