New templatetag for pagination
This commit is contained in:
parent
28269a3a93
commit
bf3cf6f217
|
@ -0,0 +1,28 @@
|
|||
{% load i18n %}
|
||||
{% load custom_gas_tags %}
|
||||
|
||||
{% if page %}
|
||||
<nav class="pagination">
|
||||
<ul>
|
||||
{% if page.has_previous %}
|
||||
<li>
|
||||
<a href="?{% url_replace request page=page.previous_page_number %}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="current">
|
||||
{% blocktrans with number=page.number total=page.paginator.num_pages %}
|
||||
Page {{ number }} of {{ total }}
|
||||
{% endblocktrans %}
|
||||
</li>
|
||||
{% if page.has_next %}
|
||||
<li><a href="?{% url_replace request page=page.next_page_number %}">{% trans "Next" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
{% blocktrans with start=page.start_index end=page.end_index total_objects=page.paginator.count %}
|
||||
From {{ start }} to {{ end }} of {{ total_objects }} total items.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
</nav>
|
||||
{% endif %}
|
|
@ -1,5 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
import json
|
||||
from urllib.parse import urlencode
|
||||
|
||||
from django import template
|
||||
from django.utils.html import mark_safe
|
||||
|
@ -39,3 +40,23 @@ def display_boolean(value):
|
|||
else:
|
||||
render = '<i class="fas fa-times"></i>'
|
||||
return mark_safe(render)
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def url_replace(request, **kwargs):
|
||||
query = request.GET.dict()
|
||||
query.update(kwargs)
|
||||
return urlencode(query)
|
||||
|
||||
|
||||
@register.inclusion_tag("gas/tags/pagination.html")
|
||||
def pagination(request, page):
|
||||
return {
|
||||
'request': request,
|
||||
'page': page,
|
||||
}
|
||||
|
||||
|
||||
@register.filter
|
||||
def to_json(data):
|
||||
return mark_safe(json.dumps(data))
|
||||
|
|
Loading…
Reference in New Issue