وبلاگ
جنگو

قالب های صفحه بندی با قابلیت استفاده مجدد

سلام مشابه با آنچه در خصوص قالب form.html انجام شد؛ می توانیم تغییرات مشابهی را برای صفحه بندی و شماره گذاری صفحات انجام دهیم. برای این کار ابتدا صفحات پست های یک تاپیک را صفحه گذاری کرده و سپس دنبال راهی برای قابلیت استفاده مجدد در کامپوننت صفحه بندی پیدا …

خواندن ادامه
جنگو

ویوی حساب کاربری

سلام خیلی خوب! حالا نوبت آن رسیده تا آخرین ویوی برنامه را بروزرسانی کنیم. بعد از این کار صرفاً به بهبود ویوهای موجود می پردازیم. accounts/views.py (مشاهده کد کامل)

myproject/urls.py (مشاهده کد کامل)

templates/my_account.html

ترجمۀ اختصاصی توسط تمدن   مطلب بعدی: اضافه کردن Markdown مطلب قبلی: صفحه …

خواندن ادامه
جنگو

صفحه بندی با استفاده از GCBV

سلام در ادامه پیاده سازی مشابهی را و البته با استفاده از ListView می بینیم. boards/views.py (مشاهده کد کامل)

تعامل با paginator در قالب برنامه متفاوت از روش عادی و مبتنی بر توابع است. در قالب، متغیرهای زیر قابل دسترسی اند: paginator, page_obj, is_paginated, object_list و همچنین متغیری که …

خواندن ادامه
جنگو

صفحه بندی با استفاده از FBV

سلام کد زیر مربوط به پیاده سازی صفحه بندی با استفاده از توابع است. boards/views.py (مشاهده کد کامل)

حالا ترفند اصلی این است که صفحات را با استفاده از کامپوننت صفحه بندی در بوت استرپ ۴ نمایش دهیم. این کار زمان زیادی می برد و می توانید با مراجعه …

خواندن ادامه
جنگو

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

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

خواندن ادامه
جنگو

ویوی لیست | List View

سلام با بازتعریف ویوی قبلی می توانیم از مزایای CBV بهره مند شویم. در این مثال می خواهیم صفحۀ اصلی را تغییر دهیم. در این صفحه ما صرفا تمام بوردها را از دیتابیس گرفته و در HTML لیست می کنیم. boards/views.py

به این صورت می توانیم لیست کردن مدل …

خواندن ادامه
جنگو

تست ویوی بروزرسانی

سلام درون فولدر boards/tests یک فایل با نام test_view_edit_post.py ایجاد می کنیم. قسمتی که باید تغییر کرده و اضافه شود به شکل زیر است. boards/tests/test_view_edit_post.py (مشاهده کد کامل)

فعلاً مهم ترین بخش PostUpdateViewTestCase به عنوان کلاسی است که برای استفاده چند باره میان سایر موارد تست تعریف شده است. …

خواندن ادامه
جنگو

ویوی بروزرسانی | Update View

سلام بیایید به پیاده سازی پروژۀ خودمان باز گردیم. این بار می خواهیم از GCBV برای پیاده سازی ویوی مربوط به edit post استفاده کنیم. boards/views.py (مشاهده کد کامل)

با UpdateView  و CreateView امکان تعریف form_class یا fieldها را در اختیار داریم. در مثال بالا از fields برای ساخت …

خواندن ادامه
جنگو

Generic Class-Based View

سلام اما GCBVها… این یک داستان متفاوت است. همانگونه که قبلاً گفتم، GCBVها، CBVهای از پیش تعریف شده ای هستند که قرار است کارهای مرسوم و رایج را انجام دهند. پیاده سازی GCBVها نیاز به برنامه نویسی سنگین بر پایۀ ارث بری های چندگانه و سایر روش های شی گرایی …

خواندن ادامه
جنگو

Class-Based View

سلام یک CBV، ویویی است که یک کلاس ویو را توسعه می دهد. تفاوت اصلی در آن است که درخواست ها و requestهایی که درون کلاس نیاز به پردازش دارند به صورت جداگانه و بسته به متدهای http شامل get, post, put, head,… می شوند. به تعبیر دیگر اول چک …

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