文档
[官方文档] 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
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句