一、模板过滤器格式
通常在html文件中使用
{{ 变量名 | 过滤器函数名 }}
二、常用模板过滤器
(一)处理字符串
{{ string|length }} # 返回字符串的长度
{{ string|capfirst }} # 返回字符串的首字母大写
{{ string|upper }} # 返回字符串的大写
{{ string|lower}} # 返回字符串的小写
{{ string|truncatechars:5 }} # 返回字符串的前几个字符
{{ string|truncatewords:1 }} # 返回字符串的前几个单词
(二)处理时间
{{ time|date:'Y-m-d H-i-s' }} # 时间戳转年月日时分秒格式
(三)处理数字
{{ num|add:5 }} # 数字num+5
(四)处理信息
{{ info|safe }} #慎用,会原文显示信息符号
三、自定义模板过滤器
(一)在app下创建安装包:templatetags
templatetags
(二)在templatetags下创建python文件
用于编写自定义模板过滤器的代码
创建my_filters.py
(三)在templates文件夹下创建打开html文件
创建my_customfilter.html文件打开
在<!DOCTYPE html>下添加
{% load my_filters %}
(四)在templatetags目录下的python文件中创建过滤器模板
在my_filters.py中创建自定义过滤器模板
参考模板格式:
from django import template
register = template.Library()
@register.filter(is_safe=False, name="abc")
def upper_number(value: int):
try:
return ["〇", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"][value]
except IndexError:
return "Error Params"
使用方法与常用过滤器一样