{% for p in range(1, pagination.total_pages + 1) %}
{% if p == 1 or p == pagination.total_pages or (p >= pagination.page - 2 and p <= pagination.page + 2) %}
{{ p }}
{% elif p == pagination.page - 3 or p == pagination.page + 3 %}
…
{% endif %}
{% endfor %}
{% if pagination.has_next %}
Next →
{% else %}
Next →
{% endif %}