flask基础之jinja2模板-过滤器

上一节主要是介绍了jinja2基本的结构及表现形式,本节介绍模板变量的处理技术:过滤器

一、过滤器

  过滤器通过管道符号“|”与变量连接,并且可以通过圆括号传递参数。

  {{  variable|default(‘param‘)  }}

  解释:

  variable,待转换的变量

  default,是过滤器,含义是:判断被转换的变量是否被定义过,如果没有被定义,则用字符串参数替换被转换的变量,

      比如,abs(number)过滤器,将被转换的变量转换为绝对值形式。attr(object,name)获得被转换的变量的指定属性

      first(sequence),返回序列的第1个元素......format(value,*attribute)......length(obj)、trim(value)等很多。

      这个要多学习一些。

  param,是过滤的参数

原文地址:https://www.cnblogs.com/czdbky/p/9349819.html

时间: 2024-08-30 16:33:28

flask基础之jinja2模板-过滤器的相关文章

flask基础之jinja2模板-流程控制

和其它编程语言一样,jinja2也有流程控制. 一.测试 在jinja2,测试(Test)是根据变量或表达式的值生成布尔结果的一种函数工具,测试关键字is {{ jinja2  is defined }} 或 {{ jinja2  is defined() }}   #需要参数的测试,括号方式传入. eg: number(value),检查对象是否是一个数字 sequence(value),检查对象是否是序列 string(value),检查对象是否是字符串 undefined(value),检

flask基础(下篇)

目录 一.flask模板引擎 二.flask扩展之flask-wtf实现表单验证 flask模板引擎 1. jinja2 Flask中使用jinja2模板引擎 jinja2是由Flask作者开发,模仿Django的模板引擎 优点: 速度快,被广泛使用 HTML设计和后端python分离 非常灵活,快速和安全 提供了控制,继承等高级功能 2. 模板语法 2.1 模板语法主要分为两种:变量和标签 模板中的变量:{{ var }} 视图传递给模板的数据 前面定义出来的数据 变量不存在,默认忽略 模板中

flask基础之app初始化(四)

前言 flask的核心对象是Flask,它定义了flask框架对于http请求的整个处理逻辑.随着服务器被启动,app被创建并初始化,那么具体的过程是这样的呢? 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) flask基础之jijia2模板语言进阶(三) 一个最基本web应用的flask代码 from flask import Flask import os # 创建app对象 app = Flask(__name__,template_fold

flask基础之请求处理核心机制(五)

前言 总结一下flask框架的请求处理流程. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) flask基础之jijia2模板语言进阶(三) flask基础之app初始化(四) WSGI协议 一般来说http服务器和框架需要进行解耦,http专门负责接受HTTP请求.解析HTTP请求.发送HTTP,响应请求等:而web框架负责处理请求的逻辑,和数据库的交互等等,那么它们之间需要约定一套接口使得http服务器能够调用web框架的处理逻辑,这个协议就是

flask基础之AppContext应用上下文和RequestContext请求上下文(六)

前言 应用上下文和请求上下文存在的目的,官方文档讲的很清楚,可参考: http://www.pythondoc.com/flask/appcontext.html 应用上下文对象在没有请求的时候是可以单独存在的,但是请求上下文对象只有在收到请求后才会被创建.请求处理和应用上下文和请求上下文的关系是: 接收请求-->创建请求上下文-->请求上下文入栈-->创建该请求的应用上下文-->应用上下文入栈-->处理逻辑-->请求上下文出栈-->应用上下文出栈 系列文章 fl

10_jinja2模板过滤器

目录 Jinja2模板过滤器 常用过滤器 列表操作 Jinja2模板过滤器 常用过滤器 default: 有则使用传的,没则使用默认值 使用方式: {{ value|default('默认值') }}, 如果value这个key不存在,则会使用default过滤器提供的默认值.如果你想使用类似于python中判断一个值是否为False (例如:None, 空字符串,空列表,空字典等), 那么就必须要传递另外一个参数{{ value|default('默认值', boolean=True) }},

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进行模板切片

【Flask】 Jinja2模板语言

Jinja2 Jinja2是Python Web编程中的主流模板语言.因为flask是基于Jinja2和Werkzeug发展而来,在安装flask的时候jinja2自动就被装在上面了. 之前提到了很多Jinja2的使用方法啊,下面将补充或者更加详细地说明Jinja2作为模板语言的使用. [Jinja2官方文档]http://docs.jinkan.org/docs/jinja2/ ■ 基本语义 看过之前模板的例子就知道,Jinja2做构成的模板文件中,文本内容大致可以分成几个种类.比如特殊文本(

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

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