1.自定义filter:
1.在app01下面新建一个templatetags的python package包。
如果没有app01的话,可以通过命令行在manage中进行创建:python manage.py startapp app01
2.然后在templatetags下面新建一个python文件,如myfilter.py。
3.导入from django import template,然后写register = template.Library() ,注意这个的变量一定要是register,不要自己定义
4.写函数,最后通过@register.filter(name="filter01") 进行注册,注意这里的名字可以和函数名称不相同
5.在前端页面中通过{% load myfilter %} 加载自定义的filter文件。
6.传递参数:管道符前面的为第一个参数,管道符后面的为两个之后的参数。
注:写完自定义的filter之后,一定要重启项目,不然会报错。
from django import template register = template.Library() @register.filter(name="filter01")
def add_myfilter(arg):
return "{}自定义的模板语言01".format(arg) @register.filter(name="addstr")
def add_str(arg1,arg2):
"""
第一个参数永远是管道符前面的那个变量
:param arg1:
:param arg2:
:return:
"""
return "{}{}自定义的模板语言01".format(arg1,arg2)
<p>自定义的filter方法:管道符前面的作为第一个变量,后面的作为第二个参数</p>
{% load myfilter %}
{{ name|filter01}}
{{ name|addstr:"两个参数的"}}
{{ name|addstr:"还是两个参数的"}} 结果: