前段时间需要做一个模板处理的工作,因为需要在模板里面进行逻辑处理,简单的元组字符串替换和已经不能满足需求了。所以选择的第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 %}这个只是简单的进行一些模板的操作,后续我会更新一些更加复杂的应用,你也可以参考一下