用 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 %}
随后即可看到结果。
此外,寻得两个比较好用 template 插件
实现的东西虽然不多,但是起码把我不想关心的逻辑封装起来了。。