我正在使用烧瓶和双手。我有兴趣动态创建数据,然后将其传递给视图,以便用双手显示。
到目前为止,我有:
@app.route('/mv')
def my_view():
pq = my_object()
for p in pq:
print str(p._data)
return render_template('my_view.html', page_title = 'nothing yet')
if __name__ == '__main__':
app.run()
print语句为每个对象生成一个键值字典,如下所示:
{u': False, 'delete_at': 1438759341.674, 'id': 43, 'fa': 0, 'created_at': 1438701741.674 }
{u': False, 'delete_at': 1438759341.675, 'id': 44, 'fa': 0, 'created_at': 1438701741.675 }
{u': False, 'delete_at': 1438759341.675, 'id': 47, 'fa': 0, 'created_at': 1438701741.675 }
我想将这些数据传递给视图,最好是作为JSON。我怎么能这样做?
答案 0 :(得分:6)
您只需将命名参数添加到render_template
来电。
import json
@app.route('/mv')
def my_view():
pq = my_object()
# put all of the data into a list
data = [p._data for p in pq]
# render the template with our data
return render_template('my_view.html', page_title = 'nothing yet', data=data)
if __name__ == '__main__':
app.run()
然后您可以在模板中访问data
的值(我假设您将其传递给javascript)。
<html>
<body>
<script>
var data = JSON.parse('{{ data | tojson }}');
// do stuff with the data
</script>
</body>
</html>