Как использовать управляющий оператор 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

Вернуться на верх