If it can't then are there any other alternatives (either Django's native pagination or an alternate package) that allows multiple paginations per page?
I would like to display a list of about 5 objects with each object having its own pagination context.
For convenience, here is the documentation for django-pagination.
I know this post is old, but it is still relevant. The following will work for Django 1.9.
This is how to do it,
views.py
def myview():Model_one = Model.objects.all()paginator = Paginator(Model_one, 6)page = request.GET.get('page1')try:Model_one = paginator.page(page)except PageNotAnInteger:Model_one = paginator.page(1)except EmptyPage:Model_one = paginator.page(paginator.num_pages)Model_two = Model_other.objects.all()paginator = Paginator(Model_two, 6)page = request.GET.get('page2')try:Model_two = paginator.page(page)except PageNotAnInteger:Model_two = paginator.page(1)except EmptyPage:Model_two = paginator.page(paginator.num_pages)context = {'Model_one': Model_one, 'Model_two': Model_two}return render(request, 'template.html', context)
The important thing above is the 'page1' and 'page2'.
In the template,
{% if model_one %}<div class="col-md-12 well">{% for item in model_one %}..... iterates through model_one.....{% endfor %}<span class="step-links pagination">{% if model_one.has_previous %}<a href="?page1={{ model_one.previous_page_number }}"> previous </a>{% endif %}<span class="current">Page {{ model_one.number }} of {{ model_one.paginator.num_pages }}</span>{% if model_one.has_next %}<a href="?page1={{ model_one.next_page_number }}"> next </a>{% endif %}</span></div>{% endif %}{% if model_two %}<div class="col-md-12 well">{% for item in model_two %}..... iterates through model_two.....{% endfor %}<span class="step-links pagination">{% if model_two.has_previous %}<a href="?page2={{ model_two.previous_page_number }}"> previous </a>{% endif %}<span class="current">Page {{ model_two.number }} of {{ model_two.paginator.num_pages }}</span>{% if model_two.has_next %}<a href="?page2={{ model_two.next_page_number }}"> next </a>{% endif %}</span></div>{% endif %}
Again using 'page1' and 'page2' to distinguish the pagination for each model.