django的一组简单数学滤波器
django-mathfilters的Python项目详细描述
django mathfilters是一个pip可安装的python 2/3模块,它提供 django的不同简单数学过滤器。
django提供了一个add模板过滤器,但没有相应的减法运算, 乘法或除法滤波器。
Django票#361已经 关闭为wontfix,因此我必须创建一个易于安装的替代方案 在一个新的Django项目中。
它当前支持int、float、Decimal和cDecimal类型,或者 可以转换为int或float的任何其他类型。
警告:请注意,当安装了“cdecimal”包时,我假设 传递给标记的所有“decimal”值都是“cdecimal”类型。如果 不是,可能会发生奇怪的事情。
安装
$ pip install django-mathfilters
然后将mathfilters添加到INSTALLED_APPS中。
用法
您需要在模板顶部加载mathfilters。剧本 提供以下过滤器:
- sub–减法
- mul–乘法
- div–除法
- intdiv–整数(楼层)除法
- abs–绝对值
- mod–模
- addition–用float支持替换add过滤器/ 十进制类型
示例:
{% load mathfilters %} ... <h1>Basic math filters</h1><ul><li>8 + 3 = {{ 8|add:3 }}</li><li>13 - 17 = {{ 13|sub:17 }}</li> {% with answer=42 %} <li>42 * 0.5 = {{ answer|mul:0.5 }}</li> {% endwith %} {% with numerator=12 denominator=3 %} <li>12 / 3 = {{ numerator|div:denominator }}</li> {% endwith %} <li>|-13| = {{ -13|abs }}</li></ul>
版本支持
此模块支持Python2.6–2.7和3.2–3.4以及PyPy和PyPy3。
支持的django版本是1.1到1.8。
许可证
MIT License,请参阅许可证文件。