دوره آموزشی فریمورک جنگو

دوره آموزشی فریمورک جنگو

چرا برنامه نویسی وب را یادبگیریم؟

امروزه بازار کار برنامه نویسی مورد توجه بسیاری از افراد قرار گرفته است. یکی از محبوب ترین حوزه های برنامه نویسی حوزه وب است. همانطور که می‌دانید وبسایت ها در همه جای زندگی ما هستند به طوری که از شرکت ها گرفته تا خیلی از مردم عادی وبسایت خودشان را دارند.

به همین دلیل بسیاری از شرکت ها نیاز به برنامه نویس وب را احساس می‌کنند و به همین دلیل بسیاری از مردم به دنبال یادگیری برنامه نویسی وب هستند.

هر وبسایتی با توجه به اهداف خود امکانات متنوعی دارد. به طور مثال یک وبلاگ باید قابلیت نمایش پست‌ها، قابلیت کامنت گذاری، پاسخ کامنت ها، تگ کردن پست ها، قابلیت ثبت نام، لاگین، ارسال ایمیل و … را داشته باشد. یا یک وبسایت فروشگاهی باید قابلیت نمایش محصولات، کامنت گذاری برای آن ها، سبد خرید، پرداخت آنلاین، سفارشات، ارسال پیامک و ایمیل و … را داشته باشد.

تمامی این منطق ها توسط بخش بک‌اند (Backend) سایت انجام می‌شود. در حقیقت این بک‌اند سایت ها هستند که به سایت قابلیت ها و ویژگی های آن را میدهند.

اگر میخواهید سایتتان بتواند در شرایط مشخصی ایمیل ارسال کند… اگه میخواهید قابلیت خرید در سایت باشد… اگر میخواهید افراد بتوانند لاگین کنند و …. همه این ها مربوط به سمت بک‌اند سایت است.

به همین دلیلی سالانه بسیاری از مردم تصمیم به یادگیری برنامه نویسی بک اند می‌کنند تا بتوانند به هر شکلی که می‌خواهند امکانات سایت خود را بسازنند.

این موضوع هم به شما کمک می‌کند که به بازار کار برنامه نویسان بک‌اند بپیوندید و هم اینکه بتوانید به صورت فریلنسری کار کنید و سایت های مورد نظر را بسازید.

یکی از محبوب ترین فریمورک های بک‌اند فریمورک پایتونی جنگو است. شما با این فریمورک نه تنها می‌توانید تمام کارهای بالا را انجام دهید بلکه هر امکانی که به ذهنتان میرسد را میتواند با این فریمورک قدرتمند پیاده سازی کنید. با جنگو شما هر سایتی، تاکید میکنم هر سایتی می‌توانید بسازید.

از مزایای فریمورک جنگو می توان به موارد زیر اشاره کرد:

قابلیت توسعه پذیری بالا – به این معنا که آن قدر این فریمورک فکر همه جا را کرده که وقتی شما می‌خواهید سایت خود را بزرگتر کنید و امکانات جدیدی به آن اضافه کنید به مشکل نمی‌خورید. این مورد آنقدر مهم است که بعضی از فریمورک این مشکل را دارند ولی جنگو آن را حل کرده است.

امنیت بالا – جنگو با کلی امکانات امنیتی که از اول در خود دارد باعث میشود که اصلا نگران امنیت نباشید و سایت ایمنی را بسازید

دارای ORM اختصاصی – به جای اینکه نیاز باشه که کد SQL اجرا کنید تا بتوانید با دیتابیس در ارتباط باشید جنگو ORM کاری می‌کند با کد پایتون بتوانید با دیتابیس در ارتباط باشید. این ویژگی آنقدر پرطرفدار است که بسیاری از کسانی که جنگو را یادمیگیرند یکی از دلایلی که جذب آن شده اند همین است.

سرعت توسعه بسیار بالا – جنگو با زبان پایتون است. به همین دلیل نه تنها به سرعت می‌توان آن را یادگرفت بلکه سرعت توسعه با آن بسیار بالاست. به این معنا که اگر می‌خواهید قابلیتی را در وبسایت جنگو خود بسازید می‌توانید به سرعت آن را پیاده سازی کنید.

پکیج های متنوع – یکی از مزیت های بسیار بزرگ جنگو این است که پکیج های آماده بسیار زیادی برای آن وجود دارد. به طور مثال اگه بخواهید برای پست های وبلاگ خود تگ بذارید پکیج آماده ای وجود دارد و یا چند خط کد تمام این قابلیت به وبسایت شما اضافه میشود. اگر بخواهید فرم های شما زیبا باشد با چند خط میتوانید از پکیجی استفاده کنید که همین کار را انجام میدهد. البته همه این قابلیت ها را میتوانید خودتان پیاده سازی کنید ولی کامیونیتی جنگو آنقدر فعال است که این همه پکیج برای آن تا کنون آماده شده است.

چه شرکت هایی از جنگو استفاده می‌کنند؟

در بین شرکت های خارجی یکی از معروف ترین شرکت هایی که از جنگو استفاده می‌کند اینستاگرام است. اینستاگرام بزرگترین پروژه پیاده سازی شده با جنگو است. پروژه که بسیار بسیار بزرگ و پیچیده است و به لطف جنگو، همه امکانات آن به خوبی پیاده سازی و توسعه پیدا کرده است. اینستاگرام به این بزرگی با این همه امکانات مهر تایید بزرگی بر روی این فریمورک گذاشته است.

در بین شرکت های ایرانی شرکت های مطرحی از جنگو استفاده می‌کنند. به طور مثال وبسایت بزرگ نوبیتکس که برای خرید و فروش ارز دیجیتال در ایران است از این فریمورک قدرتمند استفاده می‌کند. وبسایت ترب که بین هزاران هزار محصول در اینترنت می‌گردد تا بتواند بهترین قیمت ها پیدا کند از این فریمورک قدرتمند استفاده می‌کند. میزان حجم اطلاعات و ریکوئست هایی که این سایت ها دارند با بسیاری از سایت ها قابل مقایسه نیست و همین موضوع به قدرتمند بودن جنگو برمیگردد. سایت های بسیار دیگری نیز وجود دارند که به دلیل طولانی نشدن متن به همین دو سایت محبوب اکتفا می‌کنم.

دوره آموزشی جنگو

این دوره به درخواست بسیاری از شما دوستان که مشتاق یادگیری هر چه زودتر این فریمورک محبوب هستید آماده شده است. در این دوره یادمیگیرید که چگونه با پایتون و جنگو سایت دلخواه خودتان را بسازید.

چه مواردی در این دوره تدریس شده است؟

به زودی سرفصل های دقیق تری به این صفحه اضافه میشود. اما بخشی از مطالبی که در دوره تدریس شده اند مباحث زیر هستند.

بخشی از مواردی که در دوره درباره آن ها صحبت می‌شود به صورت زیر است:

  • url ها
  • اینترنت چگونه کار می‌کند؟
  • مفهوم Request و Response
  • functional view
  • class-based view
  • pycharm
  • HTML Tags
  • Django Templates
  • Template Tags
  • Custom Template Tags
  • Django Settings
  • Template Inheritance
  • Django Models
  • App
  • Makemigrations
  • Migrate
  • Django Admin Panel
  • Magic Methods for Models
  • Model Fields
  • List View
  • Detail View
  • Create View
  • Update View
  • Delete View
  • Testing in Django
  • Database
  • Foreign Key
  • FK in Models
  • Authentication
  • Login
  • Sign Up
  • Using Bootstrap
  • get object from db
  • Django ORM
  • Query
  • Test setUp and setUpTestData methods
  • Query Filter
  • Get and Post Request
  • Django Forms
  • Django ModelForm
  • CSRF Token
  • Redirect
  • URL Reverse
  • CRUD
  • form cleaning
  • logout
  • login
  • signup
  • Deploy
  • Use Git
  • Custom User Model
  • AbstractUser and AbstractBaseUser
  • Custom User Forms
  • Django 3th party modules
  • Crispy Forms
  • Password Change
  • Password Reset
  • Change authentication templates
  • Django Famous Template filters
  • Static files
  • Media files
  • Image Field
  • Upload Images
  • Paginator
  • Comments
  • related_name in Model
  • Authorization
  • LoginRequiredMixin
  • login_required decorator
  • Permissions
  • Docker
  • Docker Compose
  • Docker Host
  • Use Docker with Django
  • PostgreSQL
  • Django all-auth
  • و کلی مطلب دیگه که ذکر آن ها اینجا باعث میشه این لیست بسیار طولانی بشه…

آیا در این دوره از Docker نیز استفاده میشود؟

یکی از مهمترین مواردی که در آگهی های استخدامی خواسته میشود بلد بودن Docker است. به دلیل اینکه می‌خواهم این دوره بهترین نتایج را برایتان داشته باشد چندین فصل درباره Docker به دوره اضافه شده است. به این صورت که یادمیگیرید که منطق داکر چیست و چطوری می‌توان از آن برای همه پروژه هامون استفاده کرد. یه جورایی مثل اینه که یه دوره رایگان داکر در این دوره در اختیار شما دوستان قرار گرفته است 🙂

آیا این دوره پروژه محور است؟

یکی از مهمترین خصوصیاتی که این دوره دارد این است که کاملا پروژه محور است. به این معنا که تمامی موارد بالا و کلی امکانات دیگر را با انجام چندین پروژه یادمیگیریم.

بعد از اینکه چندین پروژه انجام میدهیم به پروژه وبلاگ دوره می‌رسیم. که یک وبسایت می‌سازیم که قابلیت ارسال پست،‌ ارسال کامنت، لاگین، ثبت نام و … است.

پروژه دیگر دوره پروژه کتاب فروشی دوره است. کتاب ها را نمایش دهیم و بتوان هر کدام را خواستیم ویرایش یا حذف کنیم. قابلیت ارسال نظرات،‌ ارسال ایمیل، فرم های ساخت کتاب و …

پروژه دیگر دوره پروژه فروشگاه است. پروژه ای که آن را با Docker پیاده سازی می‌کنیم. این پروژه نیز مانند پروژه های قبلی امکانات بسیار جالبی دارد. این پروژه در حال ضبط هست و در این چند هفته به دوره اضافه میشود.

دوره چه مقدار ضبط شده است؟

تقریبا ضبط دوره تکمیل است. فقط چند فصل پایانی آن است که در حال ضبط است. به همین دلیل از الان اکثر دوره برایتان قرار داده شده است و تنها پروژه آخر دوره است که در حال ضبط است که در همین چند هفته در اختیارتان قرار می‌گیرد. مسلما با این آپدیت دوره قیمت دوره افزایش پیدا می‌کند ولی کسانی که الان ثبت نام می‌کنند آپدیت های بعدی دوره را رایگان دریافت می‌کنند.

پشتیبانی دوره به چه صورت است؟

دوستانی که در دوره پایتون هستند می‌دانند که کیفیت پشتیبانی های دوره ها به چه صورت است. برای دوره جنگو نیز به محض ثبت نام در دوره برای شما پشتیبانی VIP دوره فعال میشود. می‌توانید سوالات خودتان را به راحتی مطرح کنید و در کل این مسیر همراه شما هستیم.

چطوری ثبت نام کنم؟

کافیه بر روی دکمه افزودن به سبد خرید در بالای همین صفحه کلیک کنید. البته بدونید که هر چه زودتر ثبت نام کنید با اینکه فصل های زیادی از همین لحظه در دسترس شما است ولی چند فصل آخر دوره که در همین چند هفته اضافه میشوند را رایگان دریافت می‌کنید. به طور کلی هر چه زودتر ثبت نام کنید از مزیت آپدیت رایگان مادام العمر دوره استفاده می‌کنید.

 

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

سرفصل ها

  • خوش اومدین :)
  • وب چطوری کار می‌کنه؟
  • Frontend & Backend
  • پیشنیاز دوره

  • نصب و کانفیگ
  • نصب پایتون
  • رفع مشکلات احتمالی نصب پایتون
  • Editor & IDE
  • نصب PyCharm
  • تنظیمات پایچارم
  • نصب VS Code

  • جنگو و Virtual Environment
  • اولین پروژه :)
  • منطق url ها در جنگو
  • فراخوانی View ها
  • URLs
  • تمرین یادگیری بهتر Route ها
  • تمرین آدرس های سایت فرضی ماشین
  • ٰView

  • Templates
  • HTML
  • بریم کد HTML بزنیم
  • ساختار HTML
  • HTML Attributes
  • بقیه Tag های HTML
  • ضرورت Template ها
  • نیاز به تمپلیت ها
  • Django Templates
  • نحوه پیدا کردن فایل‌های تمپلیت توسط جنگو
  • مکان مشترک برای Template ها
  • نمایش مقدار متغیرها در تمپلیت
  • ارث‌بری در تمپلیت ها
  • اصلاح تنظیمات پایچارم
  • Template url Tag

  • مقدمه
  • مدل ها و دیتابیس
  • ساخت اپ notes و مدل Note
  • makemigrations & migrate
  • پنل ادمین جنگو :)
  • HTML Attributes
  • ساخت ویو مورد نیاز
  • گرفتن اطلاعات از دیتابیس
  • استفاده از حلقه در تمپلیت
  • Testing
  • بریم تست بنویسیم :)
  • بریم بازم تست بنویسیم :)

  • پروژه وبلاگ
  • تحلیل پروژه
  • قراره چی بسازیم؟
  • شروع پروژه
  • ساخت مدل Post
  • Foreign Key
  • ساخت کلید خارجی
  • نمایش و ویرایش اطلاعات مدل در پنل ادمین
  • تنظیمات پنل ادمین
  • نمایش لیست پست ها در سایت
  • Bootstrap
  • دریافت فایل‌های مورد نیاز ویدئوی بعدی
  • فایل های فرانت سایت
  • انتقال فایل های فرانت به جنگو
  • اضافه کردن base.html_
  • نمایش لیست پست ها در صفحه اصلی
  • List & Detail
  • آشنایی بیشتر با Bootstrap
  • اهمیت Detail View
  • ساخت تمپلیت برای post detail
  • URL های مناسب برای Detail
  • دریافت ورودی توسط URL به View
  • پیدا کردن اطلاعات در دیتابیس
  • نمایش دکمه در صفحه اصلی برای ارجاع به صفحه Detail
  • مدیریت اشتباه سهوی یا عمدی کاربر
  • استفاده از get_object_or_404
  • اضافه کردن تست به سایت
  • تست های بیشتر
  • نمایش پست های منتشر شده و عدم نمایش پست های پیش نویس
  • پیاده سازی کد اصلی تست قبلی
  • فرق setUp و setUpTestData
  • نکته‌ای مهم درباره تنظیمات پایچارم

  • Form
  • دریافت فایل‌های مورد نیاز ویدئوی بعدی
  • ساخت template برای پست جدید
  • ساخت url و view برای Create View
  • ساخت لینک‌های صفحات در منوی بالایی
  • توصیه امنیتی فرم ها
  • دریافت اطلاعات فرم در ویو
  • ذخیره اطلاعات ارسالی در دیتابیس
  • مشکلات روش فعلی!
  • ساخت Django Form
  • ذخیره اطلاعات در دیتابیس از روی فرم
  • ریدایرکت کاربر پس از دریافت اطلاعات فرم
  • استفاده از as_p و as_table
  • ساخت Update View
  • ساخت دکمه ویرایش و مرتب سازی لیست پست ها
  • ساخت Delete View
  • CRUD
  • نوشتن تست های پروژه
  • Class-based Views
  • ساخت ویو برای class-based ListView
  • ساخت DetailView به صورت class-based
  • ساخت CreateView به صورت class-based
  • ساخت Class-based View برای update view
  • ساخت Class-based View برای delete view
  • چند تغییر کوچک

  • مقدمه فصل
  • ساخت لاگین برای سایت
  • تغییر صفحه سایت براساس لاگین بودن یا نبودن کاربر
  • ساخت صفحه LogOut
  • ساخت صفحه SignUp

  • مقدمه فصل
  • روش درست دیپلوی کردن با لیارا
  • روش درست دیپلوی کردن با هاست اشتراکی
  • درباره گیت و گیت هاب
  • استفاده از Git
  • نکته مهم در باره ی heroku
  • وقت Deploy کردنه
  • استفاده از Heroku CLI
  • دیپلوی نهایی سایت

  • Custom User Model چیست
  • ساخت پروژه جدید کتاب فروشی
  • ساخت مدل Custom User
  • چند تغییر کوچک...
  • فرم های Custom User
  • ساخت لاگین با مدل یوزر جدید
  • تکمیل لاگین و ساخت ثبت نام
  • تغییر فرم های Custom User

  • ساخت اپ Pages برای صفحات
  • تست نویسی پروژه
  • معرفی Cispy Forms
  • استفاده از Crispy Forms
  • تغییر فرم های Custom User

  • فراموشی و یا تغییر رمز عبور
  • پیاده سازی تغییر رمز عبور
  • پیاده سازی فراموشی رمز عبور
  • کاستومایز کردن فرایند فراموشی رمز عبور
  • تغییر ایمیل ارسالی

  • ساخت مدل کتاب
  • مایگریشن برای مدل جدید
  • ساخت List View برای Book
  • ساخت Detail View برای Book
  • ساخت Create View برای Book
  • ساخت Update و Delete
  • Template Filters
  • چند Template Filter مفید
  • ساخت Custom Template Filter
  • بریم سایتمون رو زیبا کنیم
  • آشنایی با CSS
  • تغییر فایل های Template
  • Static Tag
  • ظاهر صفحه Detail
  • ساخت صفحه لاگین
  • اضافه کردن عکس جلد کتاب
  • استفاده از عکس های ذخیره شده
  • امکان آپلود کردن عکس توسط کاربر
  • صفحه بندی کتاب ها
  • کلید خارجی یا Foreign Key
  • پیاده سازی بخش نظرات
  • توضیح Related در مدل ها
  • فرم ارسال کامنت
  • پیاده سازی بخش نظرات
  • توسعه بخش نظرات

  • مبحث Authorization
  • بررسی Login بودن کاربر
  • ذخیره سازنده پست کتاب
  • مبحث Permissions

  • معرفی Docker
  • معرفی Docker (ادامه ویدئوی قبلی)
  • نصب داکر
  • نصب داکر روی سیستم عامل
  • اجرا کردن داکر
  • استفاده واقعی از داکر
  • استفاده از Dockerfile و Docker Compose

  • استفاده از دیتابیس حرفه ای
  • اتصال به PostgreSql
  • استفاده از PostgreSql در پروژه
  • داکر و PostgreSql

  • پروژه جذاب فروشگاه کالا
  • شروع پروژه فروشگاهی
  • ساخت Custom User
  • ساخت صفحات سایت
  • پیاده سازی ورود و ثبت نام
  • اضافه کردن Crispy Forms

  • پکیج Django All-Auth
  • ادامه اتصال All-Auth
  • استفاده از Environment Variables
  • استفاده از env در شرایط مختلف
  • ارسال واقعی ایمیل
  • کاستومایز کردن ایمیل ها
  • ساخت لینک مشترک بین صفحات
  • پیاده سازی مدل
  • ساخت List View و Detail View
  • ساخت صفحه جزئیات محصول

  • آشنایی با فایل های فرانت پروژه
  • استفاده از فایل های پروژه
  • اضافه کردن فونت ها و ساخت ListView
  • ساخت base.html_
  • ساخت صفحه جزئیات محصول
  • اضافه کردن قابلیت کامنت ها
  • نمایش کامنت‌ها داخل ساخت
  • فرم ارسال نظر
  • ذخیره آی دی محصول برای کامنت
  • ساخت Custom Manager
  • ساخت CustomTemplateFilter
  • قابلیت جالب Tabular Inline
  • استفاده از Verbose Name

  • سایت چند زبانه - i18n
  • تنظیمات فعال سازی i18n
  • استفاده از فایل ایجاد شده ترجمه
  • مفهوم Fuzzy Translation
  • قابلیت های Translation
  • رزتا Rosetta
  • ارسال Messages به کاربر
  • سبد خرید

  • تاریخ های شمسی
  • پکیج Django Jalali Date
  • ورودی تاریخ شمسی در پنل ادمین
  • فارسی سازی اعداد
  • نمایش اعداد با جداساز کاما
  • ساخت Rich Text Editor
  • نمایش HTML به صورت Safe
  • اضافه کردن short description
  • ثبت سفارش

  • جزئیات ثبت سفارش
  • ساخت مدل سفارش
  • ساخت مدل OrderItem
  • صفحه جزئیات سفارش
  • ثبت سفارش
  • ارسال اطلاعات سفارش
  • فرم ثبت سفارش
  • ارسال اطلاعات سفارش
  • فرم ثبت سفارش
  • ادامه عملیات ثبت سفارش
  • اصلاح چند مورد سایت
  • تکمیل موارد باقی مانده

  • پیاده سازی خرید آنلاین از سایت
  • ساخت اپ payment
  • فایل env.
  • مفهوم پرداخت آنلاین و درگاه پرداخت
  • شروع کدنویسی درگاه پرداخت
  • ارسال درخواست به زرین پال
  • پاسخ زرین پال و بررسی مقادیر آن
  • تائید پرداخت انجام شده
  • اطمینان از فرایند
  • پرداخت نمایشی برای تست با sandbox

  • جنگو چیه؟
  • نصب ادیتور و پایتون
  • محیط مجازی پروژه
  • ساخت اولین پروژه جنگو
  • مفهوم اپ ها در جنگو
  • مفهوم url و view ها
  • تمرین url ها
  • نحوهی ورودی گرفتن از url ها
  • مفهوم تمپلیت و استفاده از آن
  • استفاده از دیباگ تولبار حرفه ای جنگو
  • نحوه دیباگ کردن پروژه های جنگو
  • دو نکته تکمیلی

  • دیتابیس چیست
  • کلید های خارجی و ارتباط بین جداول
  • انواع دیتابیس ها و جزئیات دیتابیس رابطه ای
  • طراحی دیتابیس پروژه
  • مدل کردن داده ها در جنگو
  • ادامه ساخت مدل محصول
  • مفاهیم null و blank
  • اضافه کردن choices به فیلد ها
  • استفاده از کلید خارجی در مدل ها
  • رابطه یک به یک یا One to One
  • رابطه many to many
  • مبحث بسیار مهم related name
  • تمرین relationship ها
  • ارور مهم circular dependancy و نحوه رفع آن
  • درک بهتر related name
  • نکته مهم درباره ارور query name clash

  • دیتابیس های سازگار جنگو
  • نحوه ساخت migration
  • ادامه مبحث ساخت migration
  • مفهوم و نحوه migrate
  • کد معادل sql مایگرشن ها
  • نحوه بازگردانی مایگریشن ها
  • دانلود و نصب mysql
  • اتصال پروژه به mysql
  • منطق app ها در جنگو
  • استفاده از faker و factory boy برای تولید داده تصادفی
  • اجرای faker

  • مفهوم ORM و query ها
  • مفهوم querysets ها و lazyness بودن آن ها
  • نمایش نتیجه کوئری در سایت
  • استفاده از lookup ها
  • استفاده از lookup های مختلف
  • تمرین درک بهتر کوئری ست ها
  • ادامه تمرین کوئری ست ها
  • مفهوم و استفاده از Q object
  • مفهوم و استفاده از F object
  • استفاده از indexing در کوئری ها
  • استفاده از order_by و reverse
  • دریافت اولین و آخرین مقدار
  • مقایسه values و values_list
  • مفهوم only و deffer
  • استفاده از select_related
  • مفهوم prefetch_related
  • تمرین مهم select related و prefetch related
  • استفاده از aggregation
  • استفاده از annotation
  • نحوه اجرای توابع دیتابیس
  • مفهوم group by
  • Expression Wrapper
  • Custom Manager
  • Custom Manager method
  • تمرین Custom Manager
  • نحوه ساخت object جدید
  • نحوه آپدیت کردن object
  • نحوه پاک کردن داده ها
  • تمرین create و update و delete
  • transactions
  • Django Shell
  • Queryset Caching
  • اجرای sql خام
  • مرتب سازی ایمپورت ها
  • مبحث ویژه Prefetch Class

  • پنل ادمین چیست
  • کاستومایز کردن پنل ادمین
  • رجیستر کردن مدل ها در پنل ادمین
  • list display
  • computed fields
  • استفاده از select related روی لیست ادمین
  • نحوه prefetch related و تغییر کوئری در ادمین
  • Custom Filtering
  • Search Fields
  • Description of Admin Display
  • اضافه کردن لینک به پنل ادمین
  • ساخت custom action
  • نحوه ساخت و تغییر داده با پنل ادمین
  • prepopulated fields
  • autocomplete fields
  • exclude and readonly fields
  • استفاده از inline ها در ادمین
  • validators

  • مفهوم API و REST
  • مفهوم resourse
  • مفهوم representation
  • مفهوم HTTP methods
  • نصب rest framework
  • تمیز کردن پروژه
  • استفاده از browsable api
  • ساخت serializer
  • نحوه دریافت و نمایش اطلاعات با api
  • استفاده از many در سریالایزر
  • استفاده از source در سریالایزر
  • تبدیل دسیمال و استرینگ در drf
  • serializer method field
  • استفاده از related field در serializer
  • استفاده از سریالایزر تو در تو
  • استفاده از hyperlinked related field
  • Model Serializer
  • ارسال post request
  • is_valid method
  • custom validation
  • serializer save method
  • serializer create method change
  • درست کردن یک اشتباه ساده
  • use put request for detail view
  • delete method
  • تمرین detail و list برای category

  • تبدیل functional view به class-based view
  • ListCreateAPIView
  • read only
  • RetrieveUpdateDestroyAPIView
  • ModelViewSet
  • SimpleRouter in routers
  • DefaultRouter
  • Nested Router for comments of each product
  • post request of nested router
  • query parameters and filtering
  • django filters package
  • create custom filter
  • ordering filter
  • using search filter
  • pagination

  • نیاز به سبد خرید
  • حذف اطلاعات اشتباه دیتابیس
  • UUID field usage for cart
  • Cart ViewSet
  • مفهوم آیدی ناشناس
  • نمایش آیتم های سبد خرید در cart detail
  • CartProductSerializer اختصاصی برای سبد خرید
  • محاسبه قیمت کل آیتم سبد خرید
  • محاسبه قیمت کل سبد خرید و بهینه سازی کوئری آن
  • پیاده سازی حذف سبد خرید
  • پیاده سازی cart item nested router
  • اضافه کردن context به serializer
  • اضافه کردن به مقدار در سبد خرید فقط با post request
  • UpdateCartItemSerializer
  • Http Method Names
  • بررسی ارور مهم UUID field

  • Authentication
  • Authorization
  • Authentication Middleware
  • Custom User
  • Custom User migrate
  • پنل ادمین Custom User و فیلدها
  • اتصال مدل Customer و User
  • درست کردن one to one برای customer و user
  • Groups and Permissions
  • Custom Permissions
  • Custom Model Fields
  • get_user_model function
  • سیگنال ها

  • ُToken-based Authentication
  • Django Djoser Package
  • جایگزین کردن سریالایزر پیشفرض Djoser
  • گرفتن access token
  • نحوه دریافت access token از refresh token
  • استفاده از modheader
  • چندین access token همزمان
  • استفاده از اکشن در viewset
  • ریکوئست از نوع put برای اکشن های ویوست ها
  • permissions
  • custom permissions
  • DRF SAFE_METHODS
  • Custom Model Permisson
  • DjangoModelPermissions

  • نیاز های orders api
  • order and order item serializer
  • Order Customer Serializer
  • نوشتن کوئری های متمیز برای نیاز های مجزا
  • سریالایز های مختلف برای کار های مختلف
  • order create serializer
  • ساخت سفارش از روی سبد خرید
  • نحوه تبدیل سبد خرید به سفارش با list comprehension
  • transaction
  • نمایش سفارش بعد از ساخت
  • handling permissions
  • محدود کردن سریالایزر آپدیت
  • custom signals
  • اتمام آپدیت API

مدرس

محمد هادی حاجی حسینی
محمد هادی حاجی حسینی

از نوجوانی علاقه زیادی به برنامه نویسی داشتم و به همین علت در سن چهارده سالگی بدون هیچ آشنایی اولیه شروع به یادگیری برنامه نویسی کردم. با جاوا و اندروید شروع کردم و چندین اپلیکیشن در بازار منتشر کردم. تا الان با زبان های C، C++، CSS, Javascript، Python به صورت تخصصی کارکرده ام. علاقه ام به برنامه نویسی باعث شد که رشته مهندسی کامپیوتر و گرایش مهندسی نرم افزار را در دانشگاه صنعتی اصفهان انتخاب کنم. دولوپر فول استک هستم و استک ام کتابخانه ReactJs و فریمورک Django هست. علاقه ام به تدریس باعث شد که در کنار کار های دیگر، تجربه و دانشم را به دیگران منتقل کنم که نتیجه آن پیج برنامه نویسی اینستاگرامی @m.hadi.hajihosseini و همینطور وبسایت کدینگ‌یار شده است.

کامنت ها :
  • مسعود
    مسعود
    12 شهریور 1402, 23:48
    پاسخ

    به عنوان شخصی که دوره های زیادی رو خریداری کرده از جمله چندین دوره جنگو، این دوره انصافا ارزش خرید کردن رو داره.

  • Aeza
    Aeza دانشجو دوره
    12 شهریور 1402, 22:14
    پاسخ

    یه دوره بسیار خوب بدون مشکل بی دغدغه آدم می تونه به راحتی تمام یاد بگیره مطالب و آموزش های دیگر سایت ها رو دیدم تجربه کردم قیمت بالا و ارئه بد آدم از یادگیری زده میکنه این یه تجربه است. این دوره خیلی خوبه. پیشنهادش میکنم

  • فرشاد
    فرشاد
    12 شهریور 1402, 13:30
    پاسخ

    کسی که میخواد یاد بگیره بهتر از این دوره نمیتونه پیدا کنه.
    هرچقد تشکر کنم واقعا کم گفتم
    ممنونم استاد ازتون و مدیونم

  • حامد
    حامد دانشجو دوره
    12 شهریور 1402, 10:28
    پاسخ

    فقط یک کلمه(فوق‌العاده 🔥💯)

  • Pedram
    Pedram
    12 شهریور 1402, 10:00
    پاسخ

    دوره بسار خوب و جامع بود
    و نوع تدریس خیلی عالی بود

  • Amirarsalan
    Amirarsalan
    12 شهریور 1402, 09:12
    پاسخ

    استاد جان من صفر بودم توی جنگو ، تدریس شما اعتماد به نفسی بهم داد که بتونم پیشرفت کنم و الان هم دارم پروژه ocr انجام میدم با جنگو رست ، ازتون ممنونم

  • REMO
    REMO دانشجو دوره
    12 شهریور 1402, 01:59
    پاسخ

    فوق‌العاده دوره جامع و کامل، محشر👌

  • Hasan
    Hasan دانشجو دوره
    12 شهریور 1402, 00:11
    پاسخ

    دوره خیلی خوبیه بیان خیلی ساده و قابل فهم همه جوره عالیه مخصوصا اینکه قراره DRF هم به دوره اضافه بشه 😍

  • سعید
    سعید دانشجو دوره
    11 شهریور 1402, 22:27
    پاسخ

    به نظر من یکی از بهترین و کاملترین دوره جنگو هست شرکت کردم.
    تمام مباحث به صورت کامل پوشش داده شده و به صورت خیلی خوبی توضیح داده شده.

  • sina_rastgouyan
    sina_rastgouyan
    11 شهریور 1402, 21:50
    پاسخ

    واقعا استاد خوبی هستن ایشون
    موارد طوری توضیح داده میشه که واقعا آخر دوره می بینید که اکثر مطالب یادتونه چون به خوبی و عمیق تدریس شده بر خلاف خیلی دوره ها که وقتی به آخرش میرسید میگید عه من اولاشو یادم رفته.
    در کل که لذت بخشه تدریس و برنامه نویسی با آقای حاجی حسینی عزیز

ارسال نظر :
این نام در کامنت ها و پروفایل عمومی شما نمایش داده خواهد شد.
شرکت در دوره