Django 自定义过滤器 笔记

自定义标签和过滤器

自定义过滤器步骤:

        1、在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.
	2、在app中创建templatetags模块(模块名只能是templatetags)
	3、创建任意 .py 文件,如:my_tags.py
		from django import template
		from django.utils.safestring import mark_safe
		 
		register = template.Library()   #register的名字是固定的,不可改变
		 
		 
		@register.filter
		def filter_multi(v1,v2):
		    return  v1 * v2
		@register.simple_tag
		def simple_tag_multi(v1,v2):
		    return  v1 * v2

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

	4、在使用自定义simple_tag和filter的html文件中导入之前创建的 my_tags.py
		{% load my_tags %} 

	5、使用simple_tag和filter(如何调用)
		{% load xxx %}  
	      
		# num=12
		{{ num|filter_multi:2 }} #24
		 
		{{ num|filter_multi:"[22,333,4444]" }}
		 
		{% simple_tag_multi 2 5 %}  参数不限,但不能放在if for语句中
		{% simple_tag_multi num 5 %}

		注意:filter可以用在if等语句后,simple_tag不可以
			{% if num|filter_multi:30 > 100 %}
			    {{ num|filter_multi:30 }}
			{% endif %}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值