Commit 502be865 authored by Tom Christie's avatar Tom Christie
Browse files

Add 'page_kwarg' attribute to `MultipleObjectMixin`, removing hardcoded 'page'.

parent da56e1ba
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ class MultipleObjectMixin(ContextMixin):
    paginate_by = None
    context_object_name = None
    paginator_class = Paginator
    page_kwarg = 'page'

    def get_queryset(self):
        """
@@ -39,7 +40,8 @@ class MultipleObjectMixin(ContextMixin):
        Paginate the queryset, if needed.
        """
        paginator = self.get_paginator(queryset, page_size, allow_empty_first_page=self.get_allow_empty())
        page = self.kwargs.get('page') or self.request.GET.get('page') or 1
        page_kwarg = self.page_kwarg
        page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1
        try:
            page_number = int(page)
        except ValueError:
+9 −2
Original line number Diff line number Diff line
@@ -69,8 +69,15 @@ MultipleObjectMixin
        An integer specifying how many objects should be displayed per page. If
        this is given, the view will paginate objects with
        :attr:`MultipleObjectMixin.paginate_by` objects per page. The view will
        expect either a ``page`` query string parameter (via ``GET``) or a
        ``page`` variable specified in the URLconf.
        expect either a ``page`` query string parameter (via ``request.GET``)
        or a ``page`` variable specified in the URLconf.

    .. attribute:: page_kwarg

        A string specifying the name to use for the page parameter.
        The view will expect this prameter to be available either as a query
        string parameter (via ``request.GET``) or as a kwarg variable specified
        in the URLconf.  Defaults to ``"page"``.

    .. attribute:: paginator_class