Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将变量从web.py中的render传递到mako中的def_Python_Web.py_Mako - Fatal编程技术网

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']},&nbsp

我想通过以下考试

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> 

%对于扭曲中的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循环的结果。它返回第一个结果,但在一个结果之后退出。我使用一个表单来选择查询变量的值,以返回所选内容,而不是整个扭曲集合。有什么更好的方法可以做到这一点?