صفحه بندی و شماره گذاری صفحات

جنگو

سلام

این کار با استفاده از CBV بسیار آسان است. اما قبل از آن می خواهیم صفحه بندی مطالب را به صورت دستی انجام دهیم تا از مکانیسم واقعی آن آگاهی پیدا کنی و سپس از تکنولوژی CBV بهره برداری می کنیم.

از الآن به بعد روی ویوی board_topics کار می کنیم.

در مرحلۀ اول می خواهیم چند پست اضافه کنیم. برای این کار هم می توانیم قسمت کاربری را در برنامه باز و چند پست ایجاد کنیم و هم می توانیم با استفاده از شل پایتون و اسکریپت نویسی مختصر این کار را انجام دهیم:

بسیار عالی! حالا یک سری داده برای بازی با آن ها داریم!

قبل از اینکه وارد کدزنی شویم کمی بیشتر با شل پایتون تفریح کنیم.

ذخیره سازی QuerySet برای صفحه بندی بسیار مهم است. در صورت عدم انجام این کار ممکن است نتایج متفاوت و اشتباهی را دریافت کنی.

خوب! حالا می خواهیم از ابزار paginator استفاده کنیم. (pagination به معنای صفحه بندی است.)

در قطعه کد بالا به برنامه گفته ایم که کوئری ست ما را به گونه ای استفاده کن که در هر صفحه 20 مورد قرار گیرد. حالا می خواهیم سایر امکانات paginator را مرور کنیم.

در این قسمت لازم است که دقت کافی صورت پذیرد. مثلاً اگر بخواهیم به صفحه ای که وجود ندارد دسترسی پیدا کنیم؛ paginator خطا می دهد.

یا اگر بخواهیم به جای شمارۀ صفحه پارامتر نامناسبی را وارد برنامه کنیم:

پس لازم است در زمان طراحی واسط کاربری تمام این موارد را در ذهن داشته باشیم.

در ادامه به سایر توابع و امکانات برای صفحه بندی می پردازیم:

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی: صفحه بندی با استفاده از FBV

مطلب قبلی: ویوی لیست | List View

بدون دیدگاه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.