zoukankan      html  css  js  c++  java
  • Django-【template】自定义过滤器和自定义标签

     
    模板语言内置的过滤器和标签比较少,往往会遇到无法满足需求的情况,所以需要我们来自定义。自定义filter和simple_tag在项目中很常用
     
    a.首先检查settings下面INSTALLED_APPS有没有注册当前应用
     b.然后在应用下面创建templatetags模块,我建一个templatetags包,建一个"任意名称".py文件
    先写上下面这个固定格式的工厂函数(变量名也是固定的)
    from django import template
    from django.utils.safestring import mark_safe
    
    register = template.Library()   #register的名字是固定的,不可改变
     
    然后自定义过滤器,自定义标签
    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 %}
     
     
    filter可以用在if等语句后,simple_tag不可以
     
  • 相关阅读:
    Java中final,finalize和finally的区别
    EJB
    sql server函数
    rollup和grouping函数
    Java关于抽象类能否被实例化的问题
    jdk
    点击导航文字,页面刷新后仍然是点击状态
    jquery实现全选和取消全选
    去掉required红色边框
    左侧菜单高度自适应右侧内容
  • 原文地址:https://www.cnblogs.com/lucaq/p/7592268.html
Copyright © 2011-2022 走看看