在tpl文件中的python中的def函数?

时间:2014-02-24 16:29:23

标签: python mongodb pymongo bottle

您可以在模板文件中定义一个函数吗?如果没有,你可以在.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。

1 个答案:

答案 0 :(得分:1)

  

模板:快速和pythonic内置模板引擎,支持mako,jinja2和猎豹模板。

来自瓶子的网站。

你可以使用Mako,它是Python的模板语言。你可以用瓶子。以下是Defs and Blocks的一节。