码迷,mamicode.com
首页 > 其他好文 > 详细

Django- filter和simpletag,inclusion_tag的用法

时间:2018-09-11 21:23:10      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:注册   nat   html   ret   filter   声明   返回   .lib   rgs   

filter的用法:

#先引入template
from django import template
#声明register,名字只能是register
register = template.Library()

#带名字的装饰器,调用的时候用起的名字 如dsb
@register.filter(name=‘dsb‘)
def add_sb(value, arg):
    return "{}_{}abc".format(value, arg)

@register.filter
def add_sb(value, arg):
    return "{}_{}_abc".format(value, arg)

自定义simpletag和自定义inclusion_tag
1. 在app下创建一个名叫templatetags的python包
2. 在templatetags里建一个py文件

simpletag的用法:

和自定义filter类似,只不过接收更灵活的参数。

定义注册simple tag

@register.simple_tag
def join_str(arg1, arg2, arg3,*args,**kwargs):
    print(args) #(‘tian‘, ‘shan‘, ‘tong‘, ‘lao‘)
    print(kwargs) #{‘key1‘: ‘menglang‘, ‘key2‘: ‘menggu‘}

    #{% load mytags %}
    # {% join_str ‘xiaofeng‘ ‘duanyu‘ ‘xuzhu‘ ‘tian‘ ‘shan‘ ‘tong‘ ‘lao‘ key1=‘menglang‘ key2=‘menggu‘ %}
    return ‘_‘.join([arg1, arg2, arg3])+‘*‘.join(args)  #xiaofeng_duanyu_xuzhutian*shan*tong*lao

inclusion_tag的用法: 多用于返回html代码片段

@register.inclusion_tag(‘pagination.html‘)
def pagination(total, current):
    return {‘total‘: range(1, total + 1), ‘current‘: current}

  

Django- filter和simpletag,inclusion_tag的用法

标签:注册   nat   html   ret   filter   声明   返回   .lib   rgs   

原文地址:https://www.cnblogs.com/duanhaoxin/p/9629767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!