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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 七日Python之路--第三天

    之前由于看基础看的觉着没意思,才去提前看一下Django的。现在突然不知到该干啥了。

    lpe234
  • Webpack+Vue2项目结构生成

    lpe234
  • 数据抓取练习

    代码放在Github上了。https://github.com/lpe234/meizi_spider

    lpe234
  • 开胃菜:冰蝎2.0流量分析

    c3VjY2Vzcw== 为success NjhhNGQ0NDctYWQ4MC00MWZlLTg2M2YtYjJlZmUwYjkxZmIx 为68a4d447...

    用户2202688
  • JavaScript 处理Iframe自适应高度的问题

     用到的就是iframe嵌套的页面加载完毕的时候,运用onload事件来获取嵌套在iframe中网页的高度,然后赋值给Iframe的高度即可。

    aehyok
  • 前端程序员表白神器

    王小婷
  • flink(13)-flink on yarn源代码分析

    session cluster和per job 因为是源码分析,所以会分为服务端和客户端两个部分的代码分析,下面我先看服务端<br/>

    yiduwangkai
  • Golang Leetcode 521. Longest Uncommon Subsequence I.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89211137

    anakinsun
  • 渐进式Web应用(PWA)入门教程(下)

    渐进式Web应用程序需要使用HTTPS连接。虽然使用HTTPS会让您服务器的开销变多,但使用HTTPS可以让您的网站变得更安全,HTTPS网站在Google上的...

    葡萄城控件
  • 2014美团网笔试题目(总结)

    http://blog.csdn.net/wzy_1988/article/details/12438143

    bear_fish

扫码关注云+社区

领取腾讯云代金券