معرفی دوره

فریم ورک Django یک چارچوب وب رایگان و متن باز است که در Python نوشته شده و از الگوی معماری MVT یا همون model-view-template پیروی می کند. هدف اصلی Django این است که ایجاد وب سایت های پیچیده و مبتنی بر پایگاه داده را آسان تر کند.

  • این چارچوب بر قابلیت استفاده مجدد، Pluggability اجزای سازنده، کد کمتر، اتصال کم و توسعه سریع تاکید می کند.

از اولین مطالبی که در داکیومنت های جنگو ارائه شده می توان به “ساخت اولین ویو در جنگو” اشاره کرد. در مطالب اشاره شده، با استفاده از function ها در پایتون یک ویو ساده ایجاد می شود. پیاده سازی یک سایت با استفاده از فانکشن ها در جنگو امکان پذیر است، به این روش Function-based views (ویو های فانکشن محور) می گویند. تمامی ویوها در این روش function های پایتون هستند.

  • در روش FBVs پیاده سازی راحت تر است و کدها خوانایی بهتری دارند، لذا برنامه نویس بعدی به راحتی منطق استفاده شده را متوجه خواهد شد. اما این روش معایبی نیز دارد.
  • تکرار کدها و استفاده بیش از حد از عبارت های شرطی از معایب روش FBVs است.

معرفی روش CBV برای ساخت ویو ها در جنگو

روش دیگری که می توان برای ساخت ویوها در جنگو استفاده کرد، روش ویوهای کلاس محور یا CBVs است. در روش Class-based views به جای استفاده از فانکشن ها از class های پایتون برای ساخت ویو استفاده می شود.

در روش CBVs کدهای تکراری به حداقل می رسند، توسعه راحت تر خواهد بود و برنامه نویس می تواند از جنریک کلاس های آماده جنگو برای توسعه محصول استفاده کند. در مقابل مزایایی که در این روش وجود دارد می توان به خوانایی سخت تر برنامه به عنوان یکی از معایب این روش اشاره کرد.

آنچه در این دوره فرا خواهید گرفت

این دوره آموزشی روی روش CBVs تمرکز دارد. ابتدا با مفاهیم ساده مباحث توضیح داده می شود و آموزش با موارد پیشرفته تر به پایان خواهد رسید.

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

  • پایتون ورژن ۳.۵ به بالا
  • فریمورک django
  • در این دوره آموزشی از PyCharm به عنوان IDE توسعه وب استفاده شده است.

مخاطبین دوره آموزش View کلاس محور در جنگو

  • علاقه مندان به برنامه نویسی
  • افرادی که مایل به یادگیری مباحث تخصصی هستند
  • دانشجویان و فارغ التحصیلان رشته کامپیوتر
  • و …

پیش نیازها

سرفصل های دوره آموزش View کلاس محور در جنگو

  • آشنایی با ویوهای Class-Based و تفاوت آن با FBVs
  • آشنایی با ویوهای generic در جنگو
  • آشنایی با کلاس های View ، TemplateView ، ListView، DetailView
  • آشنایی با کلاس های CreateView، UpdateView ، DeleteView ، FormView
  • ساخت Login و Reset Password با استفاده از کلاس های جنریک
  • سفارشی سازی ویوهای Class-Based
  • سفارشی سازی Contexts و آشنایی با queryset در ویوهای کلاس محور
  • بازنویسی متدهای get_queryset و get_object و get_context_data
  • استفاده از فرم ها در CBVs
  • بازنویسی متد form_valid
  • بازنویسی متد Post در ویوهای کلاس محور
  • استفاده از Ajax در CBVs
  • استفاده از Decorator ها در CBVs
  • آشنایی با Ecxeption های مرتبط با CBVs
  • آشنایی با Mixin ها در جنگو
  • استفاده از LoginRequiredMixin و TemplateResponseMixin و JsonMixin و…