zoukankan      html  css  js  c++  java
  • 自定义filter

    在app下创建一个名叫templatetags的python包 ,名字必须为templatetags

     在包内创建python文件,名字随意

    在文件中添加以下内容,固定写法

    from django import template
    register = template.Library()

    自定义filter

    在文件中写函数,并添加装饰器 

    from django import template
    
    register = template.Library()
    
    @register.filter()
    def add_wl(value, arg):
        return '{}_{}_wl'.format(value, arg)

    在模板中使用,记得重启django,可以在网页中输入地址查看

    {% load  my_tags%}
    {{ qwe|add_wl:'asd' }}
    {% if 'qwe'|add_wl:'q' == 'qwe_q_wl' %}
        真
    {% endif %}

    自定义simple_tag

    写函数(函数参数不受限制),加装饰器

    @register.simple_tag
    def str_join(*args, **kwargs):
        print(args)
        print(kwargs)
        return "-".join(args) + '*'.join(kwargs.values())

    使用

    {% load my_tags %}
    {% str_join 'k1' 'k2' 'k3' k1='v1' k2='v2' %}

    自定义inclusion_tag

    返回一个动态的代码段

    写函数加装饰器

    @register.inclusion_tag('li.html')
    def show_li(num):
        return {'num': range(num)}

    写模板(li.html)

    <ul>
        {% for foo in num %}
            <li> {{ foo }}</li>
        {% endfor %}
    </ul>

    使用,以下会生成10个li标签

    {% load my_tags %}
    {% show_li 10 %}
  • 相关阅读:
    hive metastore && hiveserver2 . 基本配置
    Flink HA 搭建坑
    protobuf 编译安装
    编译Hadoop 2.7.2支持压缩 转
    centos 6挂载磁盘
    python
    python之面向对象(一)
    python
    python-文件压缩和解压
    python-configparser模块
  • 原文地址:https://www.cnblogs.com/wanglan/p/10306682.html
Copyright © 2011-2022 走看看