自定义过滤器和标签

1、先查看settings.py文件中的INSTALLED_APPS配置当前的app,不然Django找不到;

 

 

2、在app中创建templatetags文件(模块);

3、在templatetags中创建任意.py文件,按照格式写:

from django import template
from django.utils.safestring import mark_safe
register = template.Library()

# 自定义过滤器 给{{}}用的
@register.filter
def x_z(x,y):
    return x*y
@register.filter
def x_x(href):
    return mark_safe('<a href=%s>链接</a>'%href)

# 创建标签 给{%%}用的
@register.simple_tag
def z_o(x,y,z):
    return x*y*z

4、在html文件中导入新创建的文件名:

{% load my_xxx %}

5、在html文件中使用simole_tag和filter格式:

{#自定义的过滤器#}
<p>{{ num|x_z:2 }}</p>
<p>{{ 'http://www.baidu.com'|x_x }}</p>

{#标签#}
{% x_o 1 2 3 %}

 

 

注意:filter可以用在if等语句后,simple_tag不可以

 

posted @ 2018-06-26 17:24  xiaofeinie  阅读(44)  评论(0)    收藏  举报