django 模板语言 自定义filter 自定义tags

{% load %}: 加载标签库 

    ----自定义filter和simple_tag
            区别:
                filter只能传一个参数,simple_tag参数可以传多个
                
            a、在app中创建templatetags模块(必须的)            

            b、创建任意 .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)


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

            d、使用simple_tag和filter(如何调用)
            
                    -------------------------------.html
                    {% 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 %}
                    
            e、在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.
            
            注意:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值