将数据传递到带有烧瓶的视图

时间:2015-08-04 15:50:15

标签: python flask

我正在使用烧瓶和双手。我有兴趣动态创建数据,然后将其传递给视图,以便用双手显示。

到目前为止,我有:

@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。我怎么能这样做?

1 个答案:

答案 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>