Python中自定义filter用法

django中新建项目,在项目中新建app,自定义filter一般放到app中。结构目录如下:

  

1.先在APP中新建一个templatetags的django文件夹,文件夹中新建一个filter的py文件。

myfilter.py:

  from django import template

  register = template.Library()  #固定用法

  @register.filter(name='mf') //需要加别名

  def add_mf(arg):

    return "{} mf !".formate(arg)

  

  @register.filter(name='addstr') 

  def add_str(arg,arg1):

    return "{} {} mf !".formate(arg,arg1)  #第一个参数是html传入的变量名,此例中是name(管道前面的变量);arg1是传入的变量

2. html文件引用自定义filter

  {%  load myfilter %} <!--load是引用的意思固定用法,myfilter是自定义filter的模块名称(即py文件名)-->

  { { name | mf }}    <!--mf是自定义filter的装饰器中的自定义别名-->

  { { name |  addstr:'beautiful'} }  <!--带参数的自定义filter-->

猜你喜欢

转载自www.cnblogs.com/beiji/p/9686734.html