【发布时间】:2014-02-25 00:33:50
【问题描述】:
你能在模板文件中定义一个函数吗?如果没有,能否在.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
我使用这个函数在一个瓶子驱动的 webapp 中生成从我的 mongodb 获取的内容。
【问题讨论】:
-
如果你使用 mako,我想你可以。
-
这是一个不同的框架吗?我可能最终会改用 django,但我想尽可能多地使用瓶子。
-
不,它是一种模板语言,我认为您可以将其安装为
bottle框架。 -
呃……重新开始……好吧,我去看看。你能用 /__main__ 做点什么吗(想法来自 stackoverflow.com/questions/11614116/…)
标签: python mongodb pymongo bottle