前言
Django使用模板渲染数据,返回的数据有时候需要处理。用到了templatetags模版函数,记录使用方法。
创建
模块下面创建templatetags 目录,必须是这个名字。目录内新建py文件。文件内写功能函数。
# templatetags/agent_filters.py
from django import template
register = template.Library()
@register.filter
def mask_card_number(cardnumber):
"""
隐藏卡号信息
"""
if len(cardnumber) < 8:
return f'{cardnumber}'
first_digits = cardnumber[:4]
last_digits = cardnumber[-4:]
num_asterisks = len(cardnumber) - 8
asterisks = '*' * num_asterisks
return f'{first_digits}{asterisks}{last_digits}'
@register.filter
def calculate_percentage(value):
"""
消费占比
"""
return ((value.limit_amount - value.remaining_amount) / value.limit_amount) * 100
@register.filter
def multiply(value, arg):
"""
百分比换算
"""
return value * arg
引用
在模版文件内引用,在头部添加
{% load agent_filters %}
需要处理的函数,引用位置
<div style="width: {{ virtualcard|calculate_percentage }}%;" class="progress-bar">
评论 (0)