为什么需要过滤器:

在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

032:DTL常用过滤器(1)的更多相关文章

  1. 033:DTL常用过滤器(2)

    date过滤器: date过滤器:将一个日期按照指定的格式,格式化成字符串.示例代码如下: views.py: from datetime import datetime def cur_date(r ...

  2. 036:DTL常用过滤器(5)

    slice过滤器: 类似于 Python 中的切片操作.示例代码如下: {{ some_list|slice:"2:" }} 以上代码将会给 some_list 从 2 开始做切片 ...

  3. 035:DTL常用过滤器(4)

    join过滤器: 类似与 Python 中的 join ,将列表/元组/字符串用指定的字符进行拼接.示例代码如下: {{ value|join:"/" }} 如果 value 是等 ...

  4. 034:DTL常用过滤器(3)

    default过滤器: 如果值被评估为 False .比如 [] , "" , None , {} 等这些在 if 判断中为 False 的值,都会使用 default 过滤器提供 ...

  5. Django——3 模板路径 模板变量 常用过滤器 静态文件的使用

    Django 模板路径 模板变量 过滤器 静态文件的加载 模板的路径,有两种方法来使用 设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明 在每一个APP中创 ...

  6. 用 Flask 来写个轻博客 (10) — M(V)C_Jinja 常用过滤器与 Flask 特殊变量及方法

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 Jinja 中常用的过滤器 default float int len ...

  7. django模板常用过滤器—add、cut、date

    语法格式:{{  obj | filter:para  }} add过滤器:将两个数相加或字符串.列表等进行拼接 views.py def add(request): context={'l1':[1 ...

  8. [Flask]常用过滤器-控制字符串

    truncate: 字符串截断 <p>{{ 'hello every one' | truncate(9)}}</p> length:获取列表长度 <p>{{ [, ...

  9. HBase基础之常用过滤器hbase shell操作(转)

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value)-- sf: column family o ...

随机推荐

  1. C# 防火墙操作之创建规则

    对于某些程序,我们只允许它使用某些特定端口.网络类型或者特定IP类型等信息.这时候,需要使用到防火墙里面的“高级设置”,创建某些特定的入站或者出栈规则,以规避其程序使用允许端口等意外的信息. 下面以创 ...

  2. VB6 Webbowser控件与JS交互,无边框和屏蔽右键菜单

    1. 屏蔽右键菜单  在菜单中单击"工程"->"引用",在列表中找到"Microsoft HTML Object Library"打上 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_1_Object类的toString方法

    任何一个类都可以使用Object类中的方法 ## 1.1 概述 `java.lang.Object`类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终 ...

  4. c# WPF——创建带有图标的TreeView

    1.使用数据模板对TreeViewItem进行更改 2.xaml中重写TreeviewItem的控件模板 3.继承TreeViewItem(TreeView中的元素),后台进行控件重写.(介绍此方法) ...

  5. Java ——JDBC数据库编程

    数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ...

  6. Linked List Cycle(链表成环)

    判断链表中是否有环 来源:https://leetcode.com/problems/linked-list-cycle Given a linked list, determine if it ha ...

  7. BP神经网络反向传播之计算过程分解(详细版)

    摘要:本文先从梯度下降法的理论推导开始,说明梯度下降法为什么能够求得函数的局部极小值.通过两个小例子,说明梯度下降法求解极限值实现过程.在通过分解BP神经网络,详细说明梯度下降法在神经网络的运算过程, ...

  8. SpringMvc+Mybatis开发调用存储过程

    <mapper namespace="com.jkw100.ssm.mapper.CustomerMapperCustom" > <!-- statementTy ...

  9. Codeforces 979D (STL set)(不用Trie简单AC)

    题面: 传送门 题目大意: 给定一个空集合,有两种操作: 一种是往集合中插入一个元素x,一种是给三个数x,k,s,问集合中是否存在v,使得gcd(x,v)%k==0,且x+v<=s若存在多个满足 ...

  10. 小白学Python(10)——pyecharts 绘制仪表图 Gauge

    from pyecharts import options as opts from pyecharts.charts import Gauge, Page gauge=( Gauge() .add( ...