Так вышло, что не знал о более короткой записи, если список пуст. Городил if else endif, а надо было делать так:
{% for article in articles %}
<h1>{{ article.name }}</h1>
{{ article.text|safe }}
{% empty %}
<h1>Добавьте статью</h1>
<p>Ещё не написано не одной статьи</p>
{% endfor %}
Старый вариант с if else.
{% if articles %}
{% for article in articles %}
<h1>{{ article.name }}</h1>
{{ article.text|safe }}
{% endfor %}
{% else %}
<h1>Добавьте статью</h1>
<p>Ещё не написано не одной статьи</p>
{% endif %}
For empty в Jinja2
Увы в Jinja2 я не нашел возможности использования похожей конструкции for. В документации написано про необходимость использовать комбинации if else.