ব্লগ তৈরী পর্ব – ১৮: Pagination

আজকের পর্বে আমরা আলোচনা করবো pagination নিয়ে। আসলে pagination আমরা কখন ব্যবহার করবো, যখন আমাদের শত শত পোস্ট হবে তখন সবগুলো পোস্ট একসাথে লোড করা যেমন কষ্টকর তেমনি User এর জন্য ও একটু অসস্থির বিষয়। কাজের সুবিধার জন্য আমরা pagination ব্যবহার করবো।
এই কাজ এর জন্য জ্যাংগো এর একটা Paginator নামে ক্লাস আছে , যার মাধ্যমে আমরা খুব সহজে paginated অবজেক্ট তৈরী করতে পারি।

ধরুন আমাদের এই প্রজেক্ট এর হোম পেজ এ অনেক গুলো পোস্ট আছে। আবার category wise যদি চিন্তা করি তাহলেও দেখবো যে একেকটা ক্যাটাগরি নিয়ে অনেক গুলো পোস্ট আছে। যেহেতু আমরা all post এবং category wise পোস্ট এর জন্য আলাদা আলাদা ভিউ নিয়ে কাজ করছি সুতরাং সকল ভিউ এ pagination এর জন্য একই কোড বাড়ে বাড়ে লিখতে হবে। এই সমস্যা সমাধানের জন্য এই pagination এর কোড টুকু একটা আলাদা ফাইল এ রাখবো যেন সব জায়গা থেকে এই কোড কল করে কাজ করতে পারি।

এ জন্য আমাদের প্রজেক্ট এর যেখানে settings.py আছে সেখানে helpers.py নামে একটা নুতন ফাইল তৈরী করি।

django_project/django_project/helpers.py:

আমরা চাইতেছি যে আমাদের হোম পেজ এর সকল পোস্ট গুলো একসাথে না দেখায়ে ৫টা করে দেখাবে প্ৰত্যেক পেজ এ।
এই জন্য আমাদের সকল পোস্ট এর ভিউ তে নিচের কোড গুলো অ্যাড করি।
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django_project import helpers
posts = helpers.pg_records(request, posts, 5)

blog/views.py:

blog/post_list.html:

“ব্লগ পোস্টের ব্যাপারে আপনার যে কোনো মতামত কমেন্টে জানাতে পারেন। ভুল ত্রুটি পেলে সংশোধন করে দিলে চির কৃতজ্ঞ থাকিব “

2 thoughts on “ব্লগ তৈরী পর্ব – ১৮: Pagination”

Leave a Comment

Your email address will not be published. Required fields are marked *