Python 如何将变量从web.py中的render传递到mako中的def
我想通过以下考试Python 如何将变量从web.py中的render传递到mako中的def,python,web.py,mako,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']}, 
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']}, ${x['x_origin']},${x['y_origin']} ${x['x_dest']},${x['y_dest']}<br />
%endfor
</%def>
%对于扭曲中的x:
${x['player']}、${x['x_origin']}、${x['y_origin']}${x['x_dest']}、${x['y_dest']}
%结束
${query}
在
块外工作正常,但在块内必须有“”围绕。因此,如果我打印它,我会将${query}
作为字符串,而不是${query}
应该表示的变量
有没有办法将web.py中的渲染变量传递到mako模板上的python中?应该是:
warp = db.warps.find('player' : query).sort(u'player', 1)
顺便说一句,你不应该在模板中加入逻辑。谢谢:-)-哈哈,我本以为可能就是这样,但我已经上床睡觉了,太累了,没法站起来试试。我在模板中使用逻辑,因为目前我不知道如何从web.py脚本返回For循环的结果。它返回第一个结果,但在一个结果之后退出。我使用一个表单来选择查询变量的值,以返回所选内容,而不是整个扭曲集合。有什么更好的方法可以做到这一点?