2016-12-06 2 views
0

Я передаю результаты в свой HTML-файл, который содержит кортеж, и каждый из элементов в кортеже - это словарь. Элемент row содержит пять полей, один из которых - url. Я хочу вставить другое изображение для каждого элемента в строке на основе его поля url. Я также передал три разных переменных url в свой HTML-файл, каждый из которых содержит один из возможных URL-адресов в виде строки. Могу ли я использовать jinja if для проверки равенства двух строк (один из которых является значением поля url в строках, а другое - значением переменных url, которые я передаю в файл)?Использование операторов if с jinja

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

В моем файле питона, который запускает веб-сайт, используя флягу, у меня есть, а также некоторый код, который определяет кортежи в результатах [].

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) 
+0

Вы должны указать, что результаты ваших тестов, если вы не получаете то, что хотите. – moswald

ответ

0

Оператор равенства (a comparison operator) в python: ==; = - assignment operator. Таким образом, сравнение условное должно быть:

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

... в противном случае значение trumba_url будет назначен row.url.

0

Попробуйте использовать {% if row.url == trumba_url %}.

Смежные вопросы