使用方法

在模板里面调用python内置的不带参数的方法,只要在对象的后面加   .fun

如何在模板中调用带参数的自定义函数:

  1. 在app中创建templatetags模块
  2. 创建任意 .py 文件,如:xx.py       
  3. 在xx.py中编写函数
    3.1  导入  fromdjango importtemplate 实现一个对象 register =template.Library()3.2,  
    3.2 编写一个函数 并在函数前加上装饰器  @register.filteer   或  @register.simple_tag
  4. 在要引入此函数的html文件顶部加上{% load xx%} 导入xx模块
  5. 使用函数属于@register.filter的函数调用{{"value" | fun:参数}},可以在if  else中做判断条件
  6. 使用函数属于@register.simple_tag的函数调用{%fun '参数1' '参数2' '参数3'%},不可以在if else中做判断条件
  7. 一定要在注册使用此函数的app

需要注意:

  • filter函数单独使用时必须至少有一个传入模板的对象作为参数,比如<h1>{{ st |fun1 }}</h1>
  • filter最多只要两个参数<h1>{{ 参数1 |fun1:参数2 }}</h1>,且冒号后面不能有空格
  • simple_tag函数的参数如函数名用空格分开,单个空格和多个空格都可以
  • {% if  st|fun1  %}
    <p>happy</p>
    {% endif %} 作为条件语句不用加两个花括号