Jinja2初探
时间:2022-07-22
本文章向大家介绍Jinja2初探,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
文档
[官方文档] http://jinja.pocoo.org/
[源码地址] https://github.com/pallets/jinja
示例
➜ jinja2Demo tree
.
├── __init__.py
└── templates
└── jinja2.html
1 directory, 3 files
Jinja2 使用一个名为 Environment 的中心对象。这个类的实例用于存储配 置、全局对象,并用于从文件系统或其它位置加载模板。
大多数应用在应用初始化的时候创建一个Environment
对象,并用它来加载模板。
具体代码
# __init__.py
# -*- coding: UTF-8 -*-
from jinja2 import Environment, PackageLoader
__author__ = 'lpe234'
def main():
env = Environment(loader=PackageLoader('jinja2Demo', package_path='templates'))
# 变量开始/结束标识
env.variable_start_string = '[['
env.variable_end_string = ']]'
# 过滤器
env.filters['xx'] = lambda _: '__'+_+'__'
# 获取模板
template = env.get_template('jinja2.html')
name = 'Hello'
lists = range(5)
# 渲染模板
print template.render(name=name, lists=lists)
pass
if __name__ == '__main__':
main()
# templates/jinja2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
[[ name | xx ]]
{% for _ in lists %}
[[ _ ]]<br>
{% endfor %}
</body>
</html>
输出
python2.7 ./jinja2Demo/__init__.py
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
__Hello__
0<br>
1<br>
2<br>
3<br>
4<br>
</body>
</html>
Process finished with exit code 0
- MySQL数据库(九):修改表结构
- Go语言中反射的正确使用
- spark零基础学习线路指导
- MySQL数据库(十):用户授权与撤销授权
- Oracle 12c系列(二)|PDB的创建
- Spring Security 入门(四):自定义-Filter
- Go语言中Select语句用法实例
- 从Mysql备份中恢复单个表
- spark编译:构建基于hadoop的spark安装包及遇到问题总结
- Mysql忘记root密码的恢复方法
- 深入剖析Go语言编程中switch语句的使用
- MySQL中DDL、DML、DCL的那些语句
- 如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
- golang实现简单的udp协议服务端与客户端示例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在 Windows 系统上启用远程应用
- ArcGIS Enterprise 配置 nginx 反向代理
- 在安卓手机上通过 Termux 运行编译/运行 .NET 应用
- 在 ASP.NET Core 中修改配置文件后自动加载新的配置
- 使用 frp 安全的暴露内网服务
- 在 .NET Core 应用中使用 NHibernate
- 使用 DataX 增量同步数据
- 在虚拟目录中部署 ASP.NET Core 应用
- Docker 容器的健康检查
- 使用 mono 编译 .NET Standard 应用
- 指定 ASP.NET Core 应用监听的端口
- 发布 Angular 应用至生产环境
- 在 NHibernate 中使用 Snow Flake ID
- 在 Angular 应用中创建包含组件
- PostgreSQL 数据库中的窗口函数