From: Zygmunt Krynicki Date: Tue, 14 Jun 2011 08:53:42 +0000 (+0200) Subject: Be smarter about missing request object. X-Git-Tag: release-2.0~14 X-Git-Url: https://git.mdrn.pl/django-pagination.git/commitdiff_plain/79b65b1914b1db437200f57df24f76653d0451cc?ds=sidebyside;hp=23e5d7444618141cdb74251ed5c36da6b3887a1a Be smarter about missing request object. The application requires uses to use request context processor. If it is not enabled let's warn the user and explain the situation using ImproperlyConfigured exception rather than cryptic bactrace. --- diff --git a/linaro_django_pagination/templatetags/pagination_tags.py b/linaro_django_pagination/templatetags/pagination_tags.py index 05c44f3..e8331c2 100644 --- a/linaro_django_pagination/templatetags/pagination_tags.py +++ b/linaro_django_pagination/templatetags/pagination_tags.py @@ -144,7 +144,13 @@ class AutoPaginateNode(template.Node): orphans = self.orphans.resolve(context) paginator = Paginator(value, paginate_by, orphans) try: - page_obj = paginator.page(context['request'].page(page_suffix)) + request = context['request'] + except KeyError: + raise ImproperlyConfigured( + "You need to enable 'django.core.context_processors.request'." + " See linaro-django-pagination/README file for TEMPLATE_CONTEXT_PROCESSORS details") + try: + page_obj = paginator.page(request.page(page_suffix)) except InvalidPage: if INVALID_PAGE_RAISES_404: raise Http404('Invalid page requested. If DEBUG were set to ' +