您可以在模板文件中定义一个函数吗?如果没有,你可以在.tpl文件中导入自定义python库来调用函数吗?
这是我试图调用的功能:
%def rec_print(obj):
%if "output" not in rec_print.__dict__: rec_print.output = ""
%end
%if isinstance(obj, unicode):
%rec_print.output += "<li>"+str(obj)+ "</li>"
%elif isinstance(obj, dict):
%for k, v in obj.items():
%rec_print.output += "<li>" +str(k) +"</li><ul>"
%rec_print(v)
%rec_print.output += "</ul>\n"
%elif isinstance(obj, list):
%for items in obj:
%rec_print(items)
%else:
%print "uknown type for", obj, type(obj)
%end
%return rec_print.output
%end
我使用此功能生成我从mongodb中获取的内容,这是通过瓶子驱动的webapp。
答案 0 :(得分:1)
模板:快速和pythonic内置模板引擎,支持mako,jinja2和猎豹模板。
来自瓶子的网站。
你可以使用Mako,它是Python的模板语言。你可以用瓶子。以下是Defs and Blocks的一节。