• 032:DTL常用过滤器(1)


    为什么需要过滤器:

    在DTL中,不支持函数的调用形式‘()’,因此不能给函数传递参数,这将有很大的局限性;而过滤器其实就是一个函数,可以对需要处理的参数进行处理,并且还可以额外接受一个参数(也就是说:最多两个参数);

    add过滤器:

    将传进来的参数添加到原来的值上面。这个过滤器会尝试将 值 和 参数 转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将 值 和 参数 进行拼接。如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表。示例代码如下:

    {{ value|add:"2" }}

    如果 value 是等于4,那么结果将是6。如果 value 是等于一个普通的字符串,比如 abc ,那么
    结果将是 abc2 。 add 过滤器的源代码如下:

    def add(value, arg):
        """Add the arg to the value."""
        try:
            return int(value) + int(arg)
        except (ValueError, TypeError):
            try:
                return value + arg
            except Exception:
                return ''

    示例如下:

    urls.py:

    views.py:

    my_add.html:

       cut过滤器:

     cut过滤器:移除值中所有指定的字符串。类似于 python 中的 replace(args,"") 。示例代码如下:{{ value|cut:" " }}

    以上示例将会移除 value 中所有的空格字符。 cut 过滤器的源代码如下:

    def cut(value, arg):
        """Remove all values of arg from the given string."""
        safe = isinstance(value, SafeData)
        value = value.replace(arg, '')
        if safe and arg != ';':
            return mark_safe(value)
        return value

  • 相关阅读:
    AppScan安全问题解决方案
    WPF方法 获取控件在屏幕的位置和自动控件位置
    WPF获取鼠标点击位置和API使用
    system.windows.controls
    .net 获取项目的根目录
    InvokeRequired
    控件取图片和矩形框 小测试
    mariadb 设置远程访问
    代码生成器 链接
    分享个网站
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/10173577.html
Copyright © 2020-2023  润新知