有没有办法在Jinja模板的forloop中应用不同的类

时间:2017-07-10 07:45:48

标签: jinja2

我是金贾的乞丐。当我想在Jinja forloop中应用不同的风格时,我遇到了问题。我曾在网上搜索但无法找到解决方案。

在python中,我将列表传递给Jinja模板,如下所示:

[[[ 0.]]] [[[ 0.]]]

在模板中,我想根据message.Des。

应用不同的样式
my_list = [
    {"Message": "this is sender message",
     "Des": 1
    },
    { "Message": "this is receiver message",
      "Des": 0
    } ]

...
render_template(
    messages = my_list
    )

但是,由于forloop不支持继续/中断,因此上面的代码不起作用。

在这里我想知道,有没有办法实现相同的功能?非常感谢你!

1 个答案:

答案 0 :(得分:0)

您可以根据message.Des值应用不同的样式。将变量用作div id值。

这是代码。

{% for message in messages %}
    {% if message.Des==1 %}
        <div class="sender_message">
    {% else %}
        <div class="receiver_message">
    {% endif %}

        <div>
            <img src={{ url_for("static", filename="img/info.jpg") }} width="36px" height="36px">
        </div>
        <div id={{message.Des}}>
            <pre>
                {{message.Message}}
            </pre>
        </div>
    <div class="clear"></div>
    </div>
{% endfor %}