Вы не можете использовать block
в таком условии, как это, независимо от того, выполнено ли условие или нет, как только вы добавите block
в свой дочерний шаблон, оно будет заполнено.
Есть несколько способов достичь (что я предполагаю) того, что вы хотите, например, вы можете использовать макрос :
{% macro scoreboardlink(counter) %}
<a href="/scoreboard/1" class="{% if counter|int == 1 %}active1{% endif %} item">1</a>
<!-- you should look into url_for() instead of hardcoding your urls -->
...
{%- endmacro %}
Затем вы использовали бы это в своем шаблоне так:
...
{{ scoreboardlink(counter) }}
...
Но, если вы хотите, чтобы структура layout.html
была такой, как у вас, вы, конечно, можете просто немного подкорректировать и поместить условное выражение в ваши блоки:
{% block scoreboard1 %}
{% if counter|int == 1 %}active1{% endif %}
{% endblock %}