天天看點

django自定義模闆标簽(tag)

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