通过查询列表在Jinja中设置变量

时间:2018-11-18 06:16:54

标签: flask jinja2

所以,可以说我有一条遵循以下路线的路线

@app.route('/get_list/<int:q>')
def get_list(q):
   return [1,2,3, q]

在html中,我想获取此列表(不通过模板传递)

我正在尝试做类似的事情

{% set variables = "url_for('get_list', q=1)" %}
<ul>
{% for var in variables%}
<li> {{var}} </li>
{%endfor%}
</ul>

但是,设置变量是错误的。 有没有一种方法可以查询服务器并获取这些变量,而不是通过“ render_template”传递? 谢谢

1 个答案:

答案 0 :(得分:0)

您应该jsonify您的数据。

尽管我不明白您想从数组中检索什么,但我只能检索通过GET请求传递的一个值,如下所示:

from flask import Flask, jsonify

app = Flask(__name__)


@app.route('/get_list/<int:q>')
def get_list(q):
    dummy_data = [44, 55, 33]

    # dummy_data.index(q) return position in array of q value
    # so if you pass 55, it will return 1
    result_from_query = dummy_data[dummy_data.index(q)]

    return jsonify(result_from_query)