@@ 1,8 1,25 @@
{% if is_paginated %}
<div class="pagination">
{% if page_obj.has_previous %}<a href="?page={{ page_obj.previous_page_number }}" class="prev">‹‹ previous</a> {% else %}<span class="disabled prev">‹‹ previous</span> {% endif %}
{% for page in pages %}{% if page %}{% ifequal page page_obj.number %}<span class="current page">{{ page }}</span> {% else %}<a href="?page={{ page }}" class="page">{{ page }}</a> {% endifequal %}{% else %} ... {% endif %}
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}{{ getvars }}" class="prev">‹‹ previous</a>
{% else %}
<span class="disabled prev">‹‹ previous</span>
{% endif %}
{% for page in pages %}
{% if page %}
{% ifequal page page_obj.number %}
<span class="current page">{{ page }}</span>
{% else %}
<a href="?page={{ page }}{{ getvars }}" class="page">{{ page }}</a>
{% endifequal %}
{% else %}
...
{% endif %}
{% endfor %}
{% if page_obj.has_next %}<a href="?page={{ page_obj.next_page_number }}" class="next">next ››</a>{% else %}<span class="disabled next">next ››</span>{% endif %}
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}{{ getvars }}" class="next">next ››</a>
{% else %}
<span class="disabled next">next ››</span>
{% endif %}
</div>
{% endif %}
\ No newline at end of file
{% endif %}
@@ 114,11 114,16 @@ def paginate(context, window=4):
pages.extend(second_list)
else:
pages.extend(sorted(list(last.difference(current))))
return {
getvars = context['request'].GET.copy()
if 'page' in getvars:
del getvars['page']
return {
'pages': pages,
'page_obj': page_obj,
'paginator': paginator,
'is_paginated': paginator.count > paginator.per_page,
'getvars': "&%s" % getvars.urlencode()
}
except KeyError:
return u''