flask html jinja не отображается при добавлении в список - PullRequest
0 голосов
/ 15 марта 2020

У меня есть сценарий python, который очищает некоторые страницы для фильмов в разных кинотеатрах и отображает результат на странице html, используя flask. Я передаю список из моего python сценария, который содержит по крайней мере 1 элемент (название театра), перебираю остальную часть списка (сегодняшние фильмы) и печатаю его.

В html я хочу проверить длину этого списка. Если list = 1, я хочу напечатать текст, говорящий, что ничего не доступно. Это мой html код

<div class="theater">
      <div class="row_header">
        {{ my_theater[0] }}
      </div>
      <div class="row_sub_header">
        Opening at 11am
      </div>
      {% if my_theater|length == 1 %} {{ my_theater.append("No movies available today") }} {% endif %} {% for m in my_theater[1:] %} 
      <div class="row">
        <div class="cell">
        {{ m }} 
        </div>
      </div>
      {% endfor %}
      <div class="row_sub_header2">
        <p>Price: 10 USD</p>
      </div>      
</div>

И это вывод html (скриншот):

Почему «*» отображается в html и как мне это убрать?

1 Ответ

0 голосов
/ 15 марта 2020

Эта проблема становится намного проще, если вы передаете my_theater (как одно значение) и my_movies (как список, который может быть пустым) по отдельности. Минус разметки, часть Jinja2 будет выглядеть как

{{ my_theater }}

{% for movie in my_movies %}
    {{ movie }}
{% else %}
    No movies available today
{% endfor %}
...