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 datetime
|
||||||
|
import json
|
||||||
|
from urllib.parse import urlencode
|
||||||
|
|
||||||
from django import template
|
from django import template
|
||||||
from django.utils.html import mark_safe
|
from django.utils.html import mark_safe
|
||||||
|
@ -39,3 +40,23 @@ def display_boolean(value):
|
||||||
else:
|
else:
|
||||||
render = '<i class="fas fa-times"></i>'
|
render = '<i class="fas fa-times"></i>'
|
||||||
return mark_safe(render)
|
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