您的位置:首页 > 编程语言 > Go语言

django自定义标签和自定义过滤器的作用演示和区别

2017-09-15 10:00 489 查看

1、概念

自定义标签:

写一个标签函数,能够对html页面传进来的参数进行处理,并且返回效果


过滤器

过滤器函数,把html页面传进来的参数进行处理加工后再返回处理后的结果


2、自定义标签

1、创建

a、在app中创建templatetags模块
b、创建任意 .py 文件,如:xx.py
from django import template

register = template.Library()

@register.simple_tag
def my_simple_time(v1,v2,v3):
return  v1 + v2 + v3

@register.simple_tag
def my_input(id,arg):
result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
return result


2、使用

a、在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名
{% load xx %}
b、使用simple_tag
{% my_simple_time 1 2 3%}
{% my_input 'id_username' 'hide'%}


3、自定义过滤器

1、创建

a、在app中创建templatetags模块
b、创建任意.py文件,如:xxoo.py

from django import template
from django.utils.safestring import mark_safe

register = template.Library()

@register.filter
def ya(value,v):

temp = '<a href="http://www.baidu.com?t=%s">%s</a>'%(value,v)
return mark_safe(temp)


2、使用

a、在使用自定义filter的html文件中导入之前创建的xxoo.py文件名
{% load xxoo %}
b、使用filter
{{ 8|ya:'跳转' }}


4、总结

1、二者在作用上的区别就在定义上
2、两者在创建时候的区别
#@register.filter
#@register.simple_tags
3、使用上的区别
#自定义标签
{% my_simple_time 1 2 3%}
{% my_input 'id_username' 'hide'%}
#自定义过滤器,加|
{{ 8|ya:'跳转' }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息