Django 写个过滤器 filter

用 Django 快速开发一个项目,发现 Django 的模板本身不带有整除功能,因此自己手写一个。

├── templates
│   ├── app
│   └── base
├── templatetags
│   ├── app_extras.py
│   ├── __init__.py
│   └── __pycache__
├── tests.py
├── urls.py
├── utils.py
└── views.py

这是目录结构。在 urls.py 添加 app 的名称,例如 app_name = ‘app’ ,然后在与models.py 同级的目录下,新建一个 python 包, templatetags 的,新建自己需要的包名即可。

app_extra.py:

from django import template

register = template.Library()


def mod(value):
    return value % 11


register.filter('mod', mod)

这里因为需求比较简单,因此直接就赋值了 11.

应用到模板中:

{% load app_extra %}

{% for image in image_list %}
	{% if forloop.counter|mod == 0 %}
		<h3>检查点</h3>
	{% endif %}
{% endfor %}

随后即可看到结果。

[阅读全文]

Python functools

Python functools包中,有个很好的函数叫做partial ,中文直接翻译为片函数,此前一直都没有使用过。最近通过阅读别人的代码,学会了这一技能,着实好用。

使用partial,可以把一些固有功能代码做一个整合;

比如我希望一个函数专门做 int2 转换

int2 = partial(int, base=2)

甚至还可以再过分一点,把 base 变成一个字典量传入。

多使用内建函数 locals,可以极大的减少自己的代码量;

这不得不让我感概:真正的 Pythonista,永无止境。

def in_func():
	a = 2
	b = 3

	def test(a, b, **args):
		return a + b

	print(test(**locals()))

CHANGELOG

date content
20230829 调整了一些语病
python 

批量修改图片大小

这两天做数据采集的时候,发现直接获取的数据文件太大了,保存起来占用内存太多,

手机端又不需要这么大的内存。

[阅读全文]

Python-logging模块

logging 是 python 自带的日志模块,用于收集并且导出日志。

要想使用好logging,需要明确几个概念:

1. logger

logger 可以理解成输出日志的核心变量。 通过 logger,可以输出 warning, info, debug, critical 等类型的日志。

2. handler

handler 处理器,是把内存中 logger 的日志导向不同的输出。 例如文件、邮件、stdout 等。

3. formatter

用于规范化日志的结构,补充日志的元信息。

4. filtter

用于 logger 中日志的过滤。

Python 

python UART编程

UART串口编程发送接收上使用pyserial,数据处理使用struct

一般情况下,有了struct就不需要使用C语言写Python扩展了,但是实际上使用C语言在处理一些情况的时候会更方便一些,因此一个比较好的选择是,用C写模块,然后用Python调用。

Python 

IPython学习

IPython

IPython6.0 版本更新,已经不支持Python2的相关版本,以及Python3.3以下的版本。赶紧升级吧!

Python