python学习笔记-Day17(jinja2)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记-Day17(jinja2)相关的知识,希望对你有一定的参考价值。
jinja2 是一个python的功能齐全的模板引擎,它有完整的unicode支持,一个可选的集成沙箱执行环境。它速度快,被广泛使用。使用jinja2 至少需要python2.4
特性
沙箱中执行
强大的html自动转义系统,保护系统免受跨站脚本攻击(xss)
模板继承
及时编译最优的python代码
可选提前编译模板的时间
易于调试,异常的的行数直接指向模板中对应的行
可配置的语法
安装
tar文件安装
tar fielname.tar.gz
进入解压后的文件目录
然后sudo python setup.py install
pip 安装
sudo pip install jinja2
开发版安装
git clone git://github.com/mitsuhiko/jinja2.git
cd jinja2
ln -s jinja2 /usr/lib/python2.X/site-packages
使用方法
>>> from jinja2 import Template
>>> template = Template(‘Hello {{ name }}!‘)
>>> template.render(name=‘John Doe‘)
u‘Hello John Doe!‘
另外一个示例
cat func.py
#!/usr/bin/env python # -*- coding:utf-8 -*- from jinja2 import Template def index(): f = open(‘index.html‘) result = f.read() template = Template(result) data = template.render(name=‘John Doe‘, user_list=[‘alex‘, ‘eric‘]) return data.encode(‘utf-8‘) newData = index() print newData
cat index.html
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <h1>{{name}}</h1> <ul> {% for item in user_list %} <li>{{item}}</li> {% endfor %} </ul> </body> </html>
python func.py
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <h1>John Doe</h1> <ul> <li>alex</li> <li>eric</li> </ul> </body> </html>
本文出自 “Will的笔记” 博客,请务必保留此出处http://timesnotes.blog.51cto.com/1079212/1748411
以上是关于python学习笔记-Day17(jinja2)的主要内容,如果未能解决你的问题,请参考以下文章