Как использовать управляющий оператор if во встроенном html-файле jinju2
Я использую parsehub для перебора названий фильмов и экспорта их в html-файл скриптом python, и это работает нормально. Однако я хочу использовать оператор if для вывода только тех названий, в которых есть "The". Структура в порядке, и он оценивает оператор if, но он всегда выдает false, и я не уверен, почему. Я впервые использую Jinju2 или даже слышал об этом языке.
{% for movie in movies %}
{% if 'The' in movie %}
<div name="title">{{movie["title"]}}</div>
{% endif %}
{% endfor %}
Альтернативно, в учебнике по parsehub, которому я следовал https://help.parsehub.com/hc/en-us/articles/217751808-API-Tutorial-How-to-get-run-data-using-Python-Flask, говорится, что есть способ опционально фильтровать соскобленные данные, но я изучил его и не уверен, как это сделать.
# movies.py
from flask import Flask, render_template
import requests
import json
API_KEY = ''
PROJECT_KEY = ''
PROJECT_DATA = f"https://www.parsehub.com/api/v2/projects/{PROJECT_KEY}/last_ready_run/data"
app = Flask(__name__, template_folder='.')
@app.route('/')
def homepage():
params = {
'api_key': API_KEY,
}
r = requests.get(
PROJECT_DATA,
params=params)
#print("The r var is: \n")
#print(r)
return render_template('movies.html', movies=json.loads(r.text)['movies'])
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
Как мне заставить оператор if в jinju2 оценивать true, или как мне фильтровать отсканированные данные?
Я использовал оператор else, чтобы убедиться, что оператор if действительно оценивается, и это так, но он каждый раз оценивается в false.
Я думаю, что это эта строка: {% if 'The' in movie %}
Попробуйте изменить это на: {% if 'The' in movie["title"] %}
Если movie является диктой, то if 'The' in movie ищет ключ с именем The