博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python jinja 模板教程
阅读量:6909 次
发布时间:2019-06-27

本文共 1069 字,大约阅读时间需要 3 分钟。

前段时间需要做一个模板处理的工作,因为需要在模板里面进行逻辑处理,简单的元组字符串替换和已经不能满足需求了。所以选择的第3方模板引擎来实现这个功能。目前大家用的比较多的模板引擎主要是:mako和jinja。 我对比了下,发现jinja的模板引擎和的语法还是比较相似的,于是我选择了jinja作为我的模板引擎。

首先我到的官网上下载了源码包,并且进行了安装。然后看了下官方的文档,进行了简单的一些功能的测试,为以后的开发做准备。
现在开始简单的操作:
先在python里面进行模板的启动和赋值
env = Environment(loader=PackageLoader('mbtest', 'templates'))###mbtest是一个模块,里面内容可以随意写,tempaltes是模板的文件夹名,jinja模板可以操作模板的列表。
tpl = env.get_template('b2b-product.php')##模板名称
randarticle = rand_article(randnum)
keyword = ‘test’
minfo = []
displayinfo = {'ptitle':ptitle,'pdescription':pdescription}##python有的时候可以把字典看做对象来操作。里面的key就是对象的属性,val则是对象的属性值。
minfo.append(displayinfo)
tplcontent = tpl.render(minfo=minfo,keyword=keyword,randarticle=randarticle)##模板变量赋值
模板处理:
这里只是简单的进行模板的赋值,模板的循环输出等。
tpl.render(minfo=minfo,keyword=k[1],randarticle=randarticle)
keyword在模板里输出是{
{keyword}} 变量的格式都是{
{}}
语句在模板里面输出是{% %} 都和django的语法比较相似,如果熟悉django的话,会感觉非常的亲切。
{% for k in minfo %}
{
{k.ptitle}}
{
{k.pdescription}} 
{% endfor %}
这个只是简单的进行一些模板的操作,后续我会更新一些更加复杂的应用,你也可以参考一下

转载于:https://www.cnblogs.com/wanpython/archive/2012/11/29/2794556.html

你可能感兴趣的文章
『科学计算』层次聚类实现
查看>>
selenium用jquery改变元素属性
查看>>
一个支付流程要考虑到哪些测试点?
查看>>
某书2018笔试题之薯券
查看>>
对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
查看>>
手机端仿ios的日期组件脚本一
查看>>
Appium做Android功能自动化测试
查看>>
reentrantlock用于替代synchronized
查看>>
Nginx 安装部署
查看>>
三目运算符详解
查看>>
HTML中button和input button的区别
查看>>
为什么我tracert经过H3C设备的时候,老是*号,不回包
查看>>
Nginx 限制访问速率
查看>>
总结几个常用的系统安全设置(含DenyHosts)
查看>>
mysql中DATETIME类型与TIMESTAMP的区别
查看>>
博客园代码高亮插件(类似csdn的代码插入)
查看>>
浅析IT系统监控方法和应用
查看>>
Velocity教程【转】
查看>>
UDP bind() IP和prot
查看>>
C# 操作Word 文档——添加Word页眉、页脚和页码
查看>>