Django之模板语言(三)------>自定义filter

1.自定义filter:

  1.在app01下面新建一个templatetags的python package包。

    如果没有app01的话,可以通过命令行在manage中进行创建:python manage.py startapp app01

    Django之模板语言(三)------>自定义filter

  2.然后在templatetags下面新建一个python文件,如myfilter.py。

    Django之模板语言(三)------>自定义filter

  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:"还是两个参数的"}} 结果:

Django之模板语言(三)------>自定义filter

上一篇:Lucene TFIDF打分公式


下一篇:django 模板语言之 simple_tag 自定义模板