需求:在前端頁面中,需要對一個數值做運算,運算後需要保留兩位小數點,但是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}}