0

我试图通过以下

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 中?

4

1 回答 1

0

它应该是:

warp = db.warps.find('player' : query).sort(u'player', 1)

顺便说一句,您不应该将逻辑放入模板中。

于 2013-06-26T08:23:24.477 回答