需求:在前端页面中,需要对一个数值做运算,运算后需要保留两位小数点,但是django的模板中很难做到这个,此时,可以通过自定义tag来实现这个功能。
1、首先在app下新建一个目录templatetags(目录名称固定):
2、新建一个py文件,名称可根据需要自定义命名,同时,需要在该目录下新建一个空白文件__init__.py:
# 我这里的目录是:项目/app/templatetags/templatehelper.py
from django import template
register = template.Library()
@register.filter(name="percent")
def percent(value):
'''
传入一个num,然后做运算,保留小数点两位
'''
return '{:.2%}'.format(float(value)/100*100)
3、需要在项目的settings.py文件中添加该模块
INSTALLED_APPS = [
......
'app.templatetags',
......
]
4、在模板中应用该标签
首先在文件的头部load这个标签,在应用percent这个函数
{% load templatehelper %}
{{ number |percent}}