python
hj009zzh
这个作者很懒,什么都没留下…
展开
-
Django2自动获取项目中的全部URL
django获取url原创 2023-07-18 14:39:21 · 217 阅读 · 0 评论 -
bat脚本中设定环境变量TZ,时间差一个小时,夏时区的问题
项目需要在window环境中使用bat脚本拉起python程序,在bat脚本中设定TZ环境变量指定时区,但是由于时区正负号和夏时区的问题,程序获取到的时间是不对的,夏天或者慢15个小时或者快1个小时问题说明:1.TZ中正负号,东时区为负,当地时间-时差=utc时间,西时区为正,当地时间+时差=utc时间。(这个与通常理解东八区用+8000表示的习惯是不同的)2.在bat脚本中使用set语句设定时注意,set语句后面不要有多余的空格,如果有会被当成是夏时区的名字,且会默认在夏天使用夏时区。原创 2023-05-06 14:22:06 · 970 阅读 · 0 评论 -
【Django】Model关联自身,多对多关系使用symmetrical=False取消对称关系
Django中Model关联自身Model可以与自身做多对一关系class People(models.Model): name=models.CharField(max_length=20) leader=models.ForeignKey('self',blank=True,null=True)Model也可以与自身做多对多关系class Person(models.Model): friends = models.ManyToManyField("self")默认原创 2022-04-13 09:23:31 · 1122 阅读 · 0 评论 -
python 获取excel文件的所有sheet名称
1. 使用pandasimport pandasfile_path = '1.xlsx'xls = pandas.ExcelFile(file_path)sheet_names = xls.sheet_names2. 使用openpyxlimport openpyxlfile_path = '1.xlsx'xls = openpyxl.load_workbook(file_path)sheet_names = xls.sheetnames原创 2021-01-07 16:01:42 · 3334 阅读 · 0 评论 -
自定义JsonField,用json.dumps转成字串存到db里,从db取出来用json.loads转会真实类型
自定义JsonField,用json.dumps转成字串存到db里,从db取出来用json.loads转会真实类型可以存dict或者list,默认不传的时候存空字串,注意这个字段只能用来存取,不要用来做filterimport jsonfrom django.db import modelsclass CustomJsonField(models.TextField): def get_db_prep_value(self, value, connection, prepared=False):原创 2020-12-19 18:42:32 · 281 阅读 · 2 评论 -
重写metaclass,实现类下标的调用方法
1. 对象下标的的调用方法直接用内置方法__getitem__即可实现,如下class User: def __getitem__(self, item): return item * 2u = User()u[2]>>> 4User[2]>>> Traceback (most recent call last):>>> File "<input>", line 1, in <module>>&原创 2020-12-18 19:02:17 · 220 阅读 · 1 评论 -
DRF,自定义ROUTER类,动态生成路由,禁用drf默认的SimpleRouter七个curd接口路由
现状最近的项目是用DRF框架实现后端的接口,视图果断使用modelviewset,而DRF默认的两个路由生成类routers.SimpleRouter和DefaultRouter,都会默认生成CURD七个接口的路由,项目不需要这些路由,所以决定自己实现一下Router,很简单,继承SimpleRouter重写类属性routes即可代码from rest_framework import routersclass CustomRouter(routers.SimpleRouter): """原创 2020-09-28 17:26:23 · 804 阅读 · 0 评论 -
DRF,动态指定序列化字段
现状最近的项目是用DRF框架实现后端的接口,视图果断使用modelviewset,而也不想写curd对应好几个serializer,希望一个serializer搞定所有,于是就涉及到需要动态指定序列化和反序列化字段的问题(比如list和detail的需要的字段不一样,list往往只要少量几个关键字段做展示,detail需要更多字段),找了下网上第三方的包,没有特别合适的,于是开启了自己造轮子之路功能1.接口默认可以取到Serializer.Meta.fields里所有的字段,2.查询接口(detai原创 2020-09-28 16:50:51 · 2347 阅读 · 0 评论 -
PYTHON中的时区处理,LMT差6分钟的问题解决
问题:在python中,时间要做本地化,可以用pytz模块获取时区对象(datetime.timezone),如果用django的话,django.utils.timezone中的get_default_timezone等方法也是调用了pytz返回时区对象的。而pytz模块中,中国的时区有几个,通常都是选择’Asia/Shanghai’ 这个时区,而这个上海的时区对象,是个LMT对象,即本地平均时间,跟标准的东八区时间差了6分钟,它实际上代表了上海日出日落的地理时间。那么如果我们直接用这个时区,调用d原创 2020-09-25 09:14:14 · 1960 阅读 · 0 评论 -
python 垃圾回收机制
1.常见的垃圾回收策略如下python采用的是引用计数机制为主,标记-清除和分代收集两种机制为辅的策略1)引用计数 python引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用时其引用计数增加1,当其不再被引用时引用计数减1,当引用计数等于0的时候,对象就被删除了。2)标记清除 ruby标记清除(Mark—Sweep)』算法是一种基于追踪回收(tracing GC)技术...原创 2020-01-10 17:25:40 · 133 阅读 · 0 评论 -
linux 安装中文字符集,解决报错问题UnicodeEncodeError
问题描述linux 无法输入和显示中文运行python3打印中文时,报错UnicodeEncodeError,如下UnicodeEncodeError: 'ascii' codec can't encode characters in position 48-49: ordinal not in range(128)问题定位1.在linux终端,打印中文echo 中文2.在pyth...原创 2019-11-15 19:15:52 · 591 阅读 · 0 评论 -
python中的yield用法,生成器关键字
转自 https://blog.csdn.net/mieleizhi0522/article/details/82142856 首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最...转载 2019-07-10 23:41:45 · 117 阅读 · 1 评论