使用带有jinja的if语句

时间:2016-12-06 22:27:30

标签: python html jinja2

我将结果传递给我的HTML文件,其中包含一个元组,元组中的每个元素都是一个字典。 row元素包含五个字段,其中一个是url。我想根据其url字段为行中的每个元素插入不同的图像。我还将三个不同的url变量传递给我的HTML文件,每个变量都包含一个可能的URL作为字符串。我可以使用jinja if语句来检查两个字符串的相等性(一个是行中url字段的值,另一个是我传入文件的url变量的值)?

<div>
{% for row in rows %}
    {% if (row.url = trumba_url) %}
        <img class="icon" src='https://pbs.twimg.com/profile_images/529755616571432960/uAELf1Xz_400x400.png'></img>
    {% endif %}
    {% if (row.url = ilab_url) %}
        <img class="icon" src='https://yt3.ggpht.com/-9SPiNJ7tggM/AAAAAAAAAAI/AAAAAAAAAAA/6IQqBohqQ-A/s900-c-k-no-mo-rj-c0xffffff/photo.jpg'></img>
    {% endif %}
    {% if (row.url = hbs_url) %}
        <img class="icon" src='http://www.davidkhurst.com/wp-content/uploads/2013/09/Harvard_shield-Business.png'></img>
    {% endif %}
    <p class="event-title"><a href='{{ row.url }}'>{{ row.title }}</a></p>
    <p class="event-date">{{ row.date }}</p>
    <p class="event-location">{{ row.location }}</p>
    <br></br>
{% endfor %}
</div>

在我使用flask运行网站的python文件中,我有这个以及一些定义结果[]中元组的代码。

trumba_url = 'http://www.trumba.com/events-calendar/ma/boston/harvard-events/harvard-event-calendar/harvard-activities/gazette'
ilab_url = 'https://i-lab.harvard.edu/events/'
hbs_url = 'http://www.hbs.edu/mba/admissions/admissions-events/Pages/default.aspx'

return render_template("index.html", results=results, trumba_url=trumba_url, ilab_url=ilab_url, hbs_url=hbs_url) 

2 个答案:

答案 0 :(得分:0)

尝试使用{% if row.url == trumba_url %}

答案 1 :(得分:0)

python中的相等运算符(comparison operator)是==; =assignment operator。因此,比较条件应为:

{% if (row.url == trumba_url) %}

...否则 trumba_url 的值将分配给 row.url