استراتژی ویوهای مبتنی بر کلاس

سلام

در این فصل قصد داریم ویوهای برنامه را با استفاده از مفهوم کلاس پیاده سازی کنیم. مسلماً باید به کدهای قبلی برگردیم و بخش هایی از آن را تغییر دهیم.

بعد هم به مسائل مهم دیگر مثل صفحه بندی و شماره گذاری صفحات، Markdownها و حتی یک ویرایشگر ساده می پردازیم و برنامۀ خود را انسان فهم(!!) می کنیم. باید توجه داشت که در جنگو تمام ویوها یک تابع هستند یعنی حتی ویوهای مبتنی بر کلاس یا Class-Based Viewها یا CBVها هم باید مقداری را به عنوان تابع return کرده و باز گردانند.

ویوهای مبتنی بر کلاس برای توسعه دهندگان امکان استفادۀ دوباره یا توسعۀ ویوها را راحت تر می کنند. مزایای این کار زیاد بوده و می توان به قابلیت توسعۀ تکنیک های شی گرایی مثل ارث بری چندگانه، هندل کردن متدهای Http و … دست یافت.

قبل از ادامۀ بحث می خواهم سه مفهوم را توضیح دهم.

  • -Function-Based Views (FBV)
  • -Class-Based Views (CBV)
  • -Generic Class-Based Views (GCBV)

* یک FBV ساده ترین نوع ویو در جنگوست. تابعی که یک شی از نوع http request  را دریافت کرده و یک http response را باز می گرداند.

* یک CBV  شامل هر نوع از ویوهای جنگویی می شود که اولا کلاسی در پایتون باشد و دوم اینکه کلاس انتزاعی django.views.generic.View را توسعه دهد. CBVها برای توسعه و استفاده دوبارۀ کدها بسیار مناسب اند.

* GCBVها همان CBVهای  پیشفرض جنگو هستند که از قبل برای کارهای مشخصی نظیر لیست کردن، ساخت، بروزرسانی و حذف ویوها پیاده سازی شده اند.

در ادامه می خواهیم برای هر یکی از این استراتژی ها مثالی داشته باشیم.

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

 

مطلب بعدی:Function-Based View

مطلب قبلی: مهاجرت

بدون دیدگاه

دیدگاهتان را بنویسید

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

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

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

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

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

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

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

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