{# To the beginning button #}
{% if paginator.num_pages > 1 and page_obj.number != 1 %}
-
«
{% endif %}
{# Previous button #}
{% if page_obj.has_previous %}
-
‹
{% endif %}
{% for page in paginator.page_range %}
{% if page > page_obj.number|add:"-3" and page < page_obj.number|add:"3" %}
-
{{ page }}
{% elif page == page_obj.number|add:"-3" or page == page_obj.number|add:"3" %}
-
...
{% endif %}
{% endfor %}
{# Next button #}
{% if page_obj.has_next %}
-
›
{% endif %}
{# To the end button #}
{% if paginator.num_pages > 1 and page_obj.number != paginator.num_pages %}
-
»
{% endif %}