代码之家  ›  专栏  ›  技术社区  ›  frazman

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

  •  0
  • frazman  · 技术社区  · 7 年前

    所以,假设我有一条如下的路线

    @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>
    

    但是,设置的变量是错误的。 谢谢

    1 回复  |  直到 7 年前
        1
  •  0
  •   Dinko Pehar    7 年前

    你应该 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)