jnija2模板渲染

复制代码
 cat temp.temp
hello {{ name }}

{% for love in love_sports %}
my loves sport is {{ love }}
{% endfor %}

{% if is_boy %}
i am a good boy
{% else %}
i am a good girl
{% endif %}
复制代码

 

复制代码
# -*- coding: UTF-8 -*-

from jinja2 import Template
with open("temp.temp",'r') as f:
    template_content = f.read()
template = Template(template_content)
content = template.render(
name='John Doe',
love_sports = ["basketall","football","paiball"],
is_boy=True
)
print(content)

#输出 :

hello John Doe


my loves sport is basketall

my loves sport is football

my loves sport is paiball

 

i am a good boy

复制代码

 

使用 Environment 来初始化对象,并用它来加载模板,

jinja2支持两种加载模板的方式 

  • PackageLoader:包加载器
  • FileSystemLoader:文件系统加载器
复制代码
from jinja2 import Environment, FileSystemLoader
env = Environment(
    loader = FileSystemLoader('/home/templates')
)

template = env.get_template('temp.temp')
content = template.render(
name='John Doe',
love_sports = ["basketall","football"],
is_boy=True
)

print content
复制代码

 

复制代码
[root@jinkang-e2elog app]# cat testabcd.py
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('testabcd','templates'))

template = env.get_template('temp.temp')
content = template.render(
name='John Doe',
love_sports = ["basketall","football"],
is_boy=True
)

print content
复制代码

 

posted on   思此狂  阅读(175)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
历史上的今天:
2017-09-25 es6

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示