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

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

结果:
        
posted @ 2019-10-23 09:40  会飞的发如雪  阅读(253)  评论(0)    收藏  举报