[Jinja2]基本使用

1.介绍

Jinja2是python的一种模板语言,以Django的模板语言为原本,和Django的模板语言有很多相似之处,同时Jinja本身也是一种系统的、完整的Python模板语言。

2.为什么需要模板语言

在html中写for if或者其他流程控制语句?
在html中使用include、extend等方法复用html?

考虑到我们用Python做web开发的情况,首先我们既想后台业务逻辑的代码层次清晰,又要前后端代码尽量分离,在python层拿到的数据,需要显示到HTML中,比如下面这样:

这里写图片描述

有很多个tr需要生成,这就用到了模板语言了,上图的数据显示用Jinja来做就是:

{% for invoice in invoices %}
     <tr>
         <td>{{invoice.id}}</td>
         <td>{{invoice.create_time}}</td>
         <td>{{invoice.start_date}}</td>
         <td>{{invoice.end_date}}</td>
         <td>{{invoice.username}}</td>
         <td>${{invoice.revenue}}</td>
         <td>${{invoice.payout}}</td>
         <td>${{invoice.profit}}</td>
         ...
    </tr>
{% endfor %}

当然,这只是Jinja2一个非常base的应用,在实际web开发中,如果再结合了前端的技术,将会使web开发事半功倍。模板语言主要用于生成HTML代码,另外,你也可以灵活运用模板的特性,结合Python用于运维中,运维利器Ansible就用到了Jinja2,可以用来生成配置文件.

3.Prerequisites

Jinja2支持Python2.6.x,2.7.x,>= 3.3,
如果使用的是Python3.2,可以使用jinja2 2.6,因为在jinja2 2.7中移除了对Python3.2的支持.

4.安装

1.pip或easy_install

easy_install Jinja2 
or
pip install Jinja2

2.下载源文件

[https://pypi.python.org/pypi/Jinja2]

python setup.py install

3.安装开发版

https://github.com/mitsuhiko/jinja2
step 1.git clone git://github.com/mitsuhiko/jinja2.git
step 2. cd jinja2
step 3. ln -s jinja2 /usr/lib/python2.X/site-packages
其中step3也可以执行 python setup.py develop

5.Useage

import jinja2

1.配置模板文件搜索路径
TemplateLoader = jinja2.FileSystemLoader(searchpath=’/xxx’)

2.创建环境变量
TemplateEnv = jinja2.Environment(loader=TemplateLoader)

3.加载模板,渲染数据
template = TemplateEnv.get_template(template_name)
html = template.render(**kw)

Refs:
1.http://jinja.pocoo.org/docs/dev

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值