Django模版函数用法

2023-11-17 13:51:09 浏览数 (2)

前言

Django使用模板渲染数据,返回的数据有时候需要处理。用到了templatetags模版函数,记录使用方法。

创建

模块下面创建templatetags 目录,必须是这个名字。目录内新建py文件。文件内写功能函数。

代码语言:javascript复制
# 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

引用

在模版文件内引用,在头部添加

代码语言:javascript复制
{% load agent_filters %}

需要处理的函数,引用位置

0 人点赞