当前位置: 代码迷 >> 综合 >> python自定义filter函数
  详细解决方案

python自定义filter函数

热度:40   发布时间:2024-02-13 15:20:19.0

缺点:最多两个参数,不能加空格
优点:能作为if条件

操作步骤如下:
1、在Django项目的app目录下创建templatetags模块

2、创建任意 .py 文件,如:xx.py    
?内容如下:
#!/usr/bin/env python
#coding:utf-8
from django import template
from django.utils.safestring import mark_safe   
register = template.Library()   

@register.simple_tag
def my_simple_time(v1,v2,v3):    
return  v1 + v2 + v3   

@register.filter
def simple_filter(a1,a2):
print(a2,type(a2))
return a1 + str(a2)

3、在使用自定义simple_filter的html文件中导入之前创建的 xx.py 文件名
{% load xx %}

4、在HTML中使用simple_filter

{{ 参数1|函数名:"参数二,参数三" }}

{{ 参数1|函数名:数字 }}

{% load xx %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
{{ name }}
{{ name|lower }}

    <!--truncatechars过滤器:如果给定的字符串长度超过了过滤器指定的长度,那么就会进行切割,并且拼接三个点作为省略号-->
{{ name|truncatechars:"3" }}

    <!--调用tag-->

    {% my_simple_time 2  5  6 %}   

    <!--调用filter-->

    {{ "maliya"|simple_filter:30 }}

</body>
</html>

  相关解决方案