Flask基础(二)---模板渲染中的过滤器定义

Flask中模板渲染中过滤器的定义:

from flask import Flask,render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("temp-demo2.html")

# 方式一
# 自定义过滤器函数,命名不能与内置过滤器重名,不然会覆盖
# 自定义列表切片过滤器
def li_setup2(li):
    # 按照步长为2进行模板切片
    return li[::2]

# 通过模板过滤器注册两个参数(自定义过滤器函数名, 模板过滤器变量名)
app.add_template_filter(li_setup2, "li2")

# 方式二
# 通过装饰器传入模板过滤器名称,内部实现过滤器功能再返回,
# 模板直接调用过滤器名称即可
# 如下自定义一个列表反转过滤器
@app.template_filter("li_reverse")
def do_li_reverse(li):
    # 通过原列表创建一个新列表
    temp_li = list(li)
    # 将新列表进行反转
    temp_li.reverse()
    return temp_li

if __name__ == ‘__main__‘:
    app.run(debug=True)

原文地址:http://blog.51cto.com/10412806/2117836

时间: 2024-11-06 03:35:52

Flask基础(二)---模板渲染中的过滤器定义的相关文章

flask之二 模板相关

flask之二 模板相关 预热 在渲染模板的时候,默认会从项目根路径下的templates目录下查找模板 如果想要指定模板路径的时候,就在初始化APP的时候,这样操作即可: app = Flask(__name__,template_folder='C:/templates') #template_folder可以指定模板位置 模板传参 在使用render_template渲染模板的时候,可以传递关键字参数,以后直接在模板中使用就可以了 如果参数过多的话,那么就可以将所有的参数放到一个字典中,然

Flask基础(14)-->模板代码的复用【宏(Macro)、继承(Block)、包含(include)】

宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复 定义宏 {% macro input(name,value='',type='text') %} <input type="{{type}}" name="{{name}}" value=&q

经典算法题-基础-二维数组中的查找

目录 问题描述 解题思路 相关代码 问题描述 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 要求 时间限制:1秒 空间限制:32768K 方法原型 public boolean find(int target, int [][] array) 输入输出例子 在以下二维数组中 { {1,2,8,9}, {2,4,9,12}, {4,7,10,

jdbc基础 (二) 从配置文件中读取连接数据库

上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接获取.释放资源的代码都是相同的,为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装起来.同时,为了提高工具类的灵活性,可以将数据库的驱动.url.用户名.密码等信息以键值对的形式存放在properties文件中,工具类初始化时从配置文件中读取所要连接数据库的信息.当需要更改连接的数据库时,只需要更改配置文件即可,而不必改写工具类的代码. 下面

Django DTL模板语法中的过滤器

template_filter_demo 原文地址:https://www.cnblogs.com/randomlee/p/10306600.html

vue、react、微信小程序中的过滤器

一.去除html标签及空格  1 let richText = ' <p style="font-size: 25px;color: white">&nbsp; &nbsp; &nbsp; &nbsp;sdaflsjf的丰富及饿哦塞尔</p><span>dsfjlie</span>'; 2 3 /* 去除富文本中的html标签 */ 4 /* *.+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们

二维数组中的查找,杨氏矩阵

题目: 在一个二维数组中,每行都按照从左到右的递增的顺序排序.每列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个数组和一个数,判断数组中是否包含这个数. 例如: 二维数组 1 2 3 4 5 6 7 8 9 查找数字7. 题目分析: 算法一: 杨氏矩阵中的查找,可以看做是在二维数组中查找,定义一个二维数组,根据数组的基本特点,可以从数组中第一个元素逐行进行遍历,若数组的某个元素与所要找的数字相等,则能够找到这个数字.如果遍历完整个数组,都没有与之相等的元素,则找不到这个数字. 下面

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

Flask学习之二——模板

1.Jinja2模板引擎 模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道.使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染. 默认情况下,Flask 在程序文件夹中的 templates 子文件夹中寻找模板.Flask 提供的 render_template 函数把 Jinja2 模板引擎集成到了程序中.render_template 函数的第一个参数是模板的文件名.随后的参数都是键值对,表示模板中变量对应的真实值. -*- u