如何将变量从web.py中的render传递到mako中的def

时间:2013-06-26 07:05:03

标签: python web.py mako

我正试图通过以下

return render('warps.html', query=query)

到mako模板,让它读取下面的查询。

<%def name="warps()">
    <%
    warp = db.warps.find('player' : ${query}).sort(u'player', 1)
    print warp
    %>
    %for x in warp:
        ${x['player']},&nbsp;&nbsp;${x['x_origin']},${x['y_origin']}&nbsp;&nbsp;&nbsp;${x['x_dest']},${x['y_dest']}<br />
    %endfor
</%def> 

${query}<% -- %>区块之外正常工作但在其中必须有“”。因此,如果我打印它,我会将${query}作为字符串而不是${query}应该表示的变量。

有没有办法将web.py中的渲染变量传递到mako模板上的python中?

1 个答案:

答案 0 :(得分:0)

应该是:

warp = db.warps.find('player' : query).sort(u'player', 1)
顺便说一句,你不应该把逻辑放在模板中。