码迷,mamicode.com
首页 > 编程语言 > 详细

python学习笔记-Day17(jinja2)

时间:2016-03-07 19:28:33      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:python   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)

标签:python   jinja2   

原文地址:http://timesnotes.blog.51cto.com/1079212/1748411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!