• Django 第五课 【过滤器】


    ##为什么需要过滤器

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

    在模板中,有时候需要对一些数据进行处理以后才能使用。一般在python中我们是通过函数函数的形式完成的。而在模板中,则是通过过滤器来实现的。过滤器使用的是 | 来使用。比如使用 add 过滤器,那么示例代码如下:

    {{value|add:"2"}}

    那么以下就讲下在开发过程常用的过滤器。

    ## 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 ''

    ## cut

    移除值中所有指定的字符串。类似于python中的 ’replace(args,“”)‘。示例代码如下:

    {{value|cut:" "}}

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

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

    ## date

    将一个日期按照指示的格式,格式化字符串。示例代码如下:

    #数据
    context = {
             birthday = dayetime.now()
    }
    
    #过滤
    {{birthday|date:"Y/m/d"}}
  • 相关阅读:
    获取小程序码
    获取目标地与当前地距离
    小程序图片预览
    地图导航
    Jquery无缝滚动
    短信验证
    根据经纬度获取地址
    微信小程序中使用emoji表情
    小程序图片上传
    地球人类的牢笼
  • 原文地址:https://www.cnblogs.com/nelsen-chen/p/9451662.html
Copyright © 2020-2023  润新知