X-Git-Url: https://git.mdrn.pl/django-pagination.git/blobdiff_plain/3c4a7f31f35bb1bcdac755849b0212494a83c56b..139b3ec9fcbf7c7d01b404c9dbdaf27492c22c0c:/linaro_django_pagination/templatetags/pagination_tags.py diff --git a/linaro_django_pagination/templatetags/pagination_tags.py b/linaro_django_pagination/templatetags/pagination_tags.py index b447625..be22347 100644 --- a/linaro_django_pagination/templatetags/pagination_tags.py +++ b/linaro_django_pagination/templatetags/pagination_tags.py @@ -135,7 +135,7 @@ class AutoPaginateNode(Node): self.multiple_paginations = multiple_paginations def render(self, context): - if self.multiple_paginations or "paginator" in context: + if self.multiple_paginations or getattr(context, "paginator", None): page_suffix = '_%s' % self.queryset_var else: page_suffix = '' @@ -183,10 +183,10 @@ class PaginateNode(Node): def render(self, context): template_list = ['pagination/pagination.html'] - to_return = paginate(context) + new_context = paginate(context) if self.template: template_list.insert(0, self.template) - return loader.render_to_string(template_list, to_return, + return loader.render_to_string(template_list, new_context, context_instance = context) @@ -303,7 +303,7 @@ def paginate(context, window=DEFAULT_WINDOW, margin=DEFAULT_MARGIN): if pages[-1] != paginator.num_pages: pages.append(None) - to_return = { + new_context = { 'MEDIA_URL': settings.MEDIA_URL, 'STATIC_URL': getattr(settings, "STATIC_URL", None), 'display_disabled_next_link': DISPLAY_DISABLED_NEXT_LINK, @@ -323,12 +323,16 @@ def paginate(context, window=DEFAULT_WINDOW, margin=DEFAULT_MARGIN): if 'page%s' % page_suffix in getvars: del getvars['page%s' % page_suffix] if len(getvars.keys()) > 0: - to_return['getvars'] = "&%s" % getvars.urlencode() + new_context['getvars'] = "&%s" % getvars.urlencode() else: - to_return['getvars'] = '' - return to_return + new_context['getvars'] = '' + return new_context except (KeyError, AttributeError): - return {} + new_context = {} + + context.update(new_context) + + return context register = Library()