X-Git-Url: https://git.mdrn.pl/fnpdjango.git/blobdiff_plain/7b2a81536977bb13b68ada3e5a281e35b24e0bfd..c5f50329c7ddea87333c6137d994252c47783aa4:/fnpdjango/templatetags/fnp_prevnext.py diff --git a/fnpdjango/templatetags/fnp_prevnext.py b/fnpdjango/templatetags/fnp_prevnext.py index 4cfbb08..cb4efe2 100644 --- a/fnpdjango/templatetags/fnp_prevnext.py +++ b/fnpdjango/templatetags/fnp_prevnext.py @@ -1,5 +1,12 @@ +from copy import copy from django.template import Library +try: + from urllib.parse import urlencode +except ImportError: + from urllib import urlencode + + register = Library() @@ -7,7 +14,10 @@ register = Library() def previous_page(context, fallback=None, fallback_title=None): current = context['page_obj'].number if current > 1: - return {'number': current - 1, 'title': None, 'url': None} + get_dict = copy(context['request'].GET) + get_dict['page'] = current - 1 + return {'number': current - 1, 'title': None, 'url': None, + 'get_dict': urlencode(get_dict)} else: return {'number': None, 'title': fallback_title, 'url': fallback} @@ -17,7 +27,10 @@ def next_page(context, fallback=None, fallback_title=None): current = context['page_obj'].number page_range = context['paginator'].page_range if current < page_range[-1]: - return {'number': current + 1, 'title': None, 'url': None} + get_dict = copy(context['request'].GET) + get_dict['page'] = current + 1 + return {'number': current + 1, 'title': None, 'url': None, + 'get_dict': urlencode(get_dict)} else: return {'number': None, 'title': fallback_title, 'url': fallback}