Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Pagination

Pagination

Pagination Step by Step

মডেল তৈরি

# myapp/models.py

from django.db import models

class Item(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField()

    def __str__(self):
        return self.name

ডাটাবেস অপডেট

python manage.py makemigrations
python manage.py migrate

Views.py

# পেজিনেটর import
from django.core.paginator import Paginator
from django.shortcuts import render
from .models import Item

def item_list(request):
    # সমস আইটেম লোড করুন
    item_list = Item.objects.all()
    
    # পেজিনেটর তৈরি করুন এবং রতি পেজে 10 টি আইটেম দেখান
    paginator = Paginator(item_list, 10)  # রতি পেজে 10 টি আইটেম
    
    # যবহারকারীর যদি পেজ নমবর রদান করেন, তাহলে তার জন ওই পেজ থেকে আইটেম নিন
    page = request.GET.get('page')
    items = paginator.get_page(page)
    
    # টেমপলেটে ডাটা পাঠান
    return render(request, 'item_list.html', {'items': items})

html

<!-- myapp/templates/item_list.html -->

{% for item in items %}
    <h2>{{ item.name }}</h2>
    <p>{{ item.description }}</p>
{% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if items.has_previous %}
            <a href="?page=1">« first</a>
            <a href="?page={{ items.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ items.number }} of {{ items.paginator.num_pages }}.
        </span>

        {% if items.has_next %}
            <a href="?page={{ items.next_page_number }}">next</a>
            <a href="?page={{ items.paginator.num_pages }}">last »</a>
        {% endif %}
    </span>
</div>

How can we help?