【问题标题】:How deep can a variable passthrough to jinja go with a join?一个变量传递到 jinja 可以有多深?
【发布时间】:2021-07-02 19:30:43
【问题描述】:

正在处理一个项目 -flask/sqlalchemy/jinja。如果我要调用一个连接,循环遍历集合,通过一个变量获取数据,我可以在多层深处调用该变量吗?示例:

orders = Orders.query.join(Products, Orders.id==Products.order_id).all()

遍历记录并找到值:

 data = []
 for order in orders:
    object= {
        'id': order.id,
        'products': []
    }
    for product in order.products:
        product = {
            'name': product.name,
            'header':product.header
        }
        object['products'].append(product)
    data.append(object)

渲染模板将数据作为数据传递。

return render_template('something.jinja2', data=data)

在 jinja 我可以这样做吗?:

{% for d in data %}
   {{order.products.name}}
{% endfor %}

如果我要进行更多的连接和循环,我是否可以更深入地了解关系?

【问题讨论】:

    标签: python flask sqlalchemy jinja2


    【解决方案1】:

    jinja 循环中的循环

    {% for d in data%}
    {{ order.id}}
       {% for product in d.products %}
          {{product.name}}
       {% endfor %}
    {% endfor%}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 2022-01-13
      • 2020-01-02
      • 1970-01-01
      • 2023-01-29
      • 2013-12-05
      • 2022-01-16
      相关资源
      最近更新 更多