آموزش برنامه‌نویسی از صفر ، بدون پیش‌نیاز، برای تمام سنین! آموزش برنامه‌نویسی ، از صفر بدون پیش‌نیاز!
🎯 شروع یادگیری

دوره آموزش جنگو (Django) از پایه تا پیشرفته + پروژه عملی

دوره آموزش جنگو (Django) از پایه تا پیشرفته + پروژه عملی
ثبت نام دوره
نوع دوره شهریه نام استاد مدت زمان تاریخ شروع زمان برگزاری پیشنیاز وضعیت دوره ثبت نام
حضوری یا آنلاین 8,000,000 تومان مهندس مصطفایی 60 ساعت 1404/02/10 چهارشنبه 16:30 تا 20:30 آشنایی با HTML و CSS و دوره آموزش پایتون
درحال ثبت نام
📝 ثبت نام
نوع ثبت نام قیمت تخفیف نقدی مبلغ کل شرایط ثبت نام نوع کلاس ثبت نام
نقدی 8,000,000 تومان تومان 8,000,000 تومان پرداخت کل مبلغ هنگام ثبت نام ثبت نام نقدی

آموزش جنگو پروژه محور


دوره آموزش django

چرا باید جنگو یاد بگیری؟

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

یادگیری جنگو فقط با ویدیوهای پراکنده جواب میده؟

شاید یه سری آموزش رایگان دیده باشی، یا چندتا مقاله و ویدیو اینجا و اونجا بخونی، اما وقتی بخوای یه پروژه واقعی بسازی، همه‌چی به نظر سخت میاد. چون:

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

پس چطوری جنگو رو درست و حسابی یاد بگیری؟

  • یه مسیر مشخص داشته باشی ، نه اینکه از هرجا یه چیزی یاد بگیری و آخرش گیج بشی.
  • روی پروژه‌های واقعی کار کنی تا مهارتت تقویت بشه.
  • تمرین کنی، کد بزنی و فیدبک بگیری. فقط ویدیو نبینی!
دوره آموزش django

اگر این چالش‌ها رو تجربه کردی، ادامه این صفحه رو ببین تا بفهمی مشکل کجاست و چطور می‌تونی مسیر یادگیری درستی رو انتخاب کنی…

دوره آموزش طراحی سایت

معرفی دوره آموزش Django – یادگیری عملی و پروژه‌محور

تا اینجا متوجه شدی که یادگیری پراکنده جنگو، کمکت نمی‌کنه یه توسعه‌دهنده حرفه‌ای Django بشی. اما این دوره چه فرقی داره؟ می‌تونه سرعت یادگیریتو بیشتر کنه و تو رو آماده بازار کار کنه؟

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

  • تو ویدیوی معرفی دوره، مدرس توضیح میده که: این دوره Django چجوری طراحی شده و چه مفاهیمی رو پوشش میده؟
  • چطور از سطح مبتدی به یه توسعه‌دهنده جنگو تبدیل می‌شی؟
  • چرا انجام پروژه‌های عملی کنار یادگیری مفاهیم، مهم‌ترین بخش این دوره‌ست؟
چرا این دوره پروژه‌محور است؟ – تمرین عملی به جای حفظ کردن!

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

توی این دوره چی یاد می‌گیری؟

یادگیری جنگو فقط حفظ کردن چندتا سینتکس نیست!

تو باید مهارت‌هایی یاد بگیری که بهت کمک کنن یه سایت واقعی بسازی، داده‌ها رو مدیریت کنی و پروژه‌ات رو روی سرور راه بندازی. توی این دوره، از صفر تا راه‌اندازی یه پروژه واقعی رو یاد می‌گیری، جوری که آماده‌ی ورود به بازار کار بشی!

    بعد از این دوره چی بلدی؟

  • یاد می‌گیری چطور یه سایت حرفه‌ای با جنگو بسازی
  • یاد می‌گیری داده‌ها رو توی دیتابیس ذخیره و مدیریت کنی
  • یه داشبورد مدیریتی خفن طراحی کنی
  • API بسازی که فرانت‌اند بتونه باهاش ارتباط بگیره
  • پروژه‌ات رو روی سرور واقعی اجرا کنی و منتشرش کنی!
این دوره مناسب چه کساییه؟
  • این دوره برای تو مناسبه؟

  • اگه دوست داری طراحی سایت با پایتون رو یاد بگیری اما نمی‌دونی از کجا شروع کنی، این دوره جنگو دقیقاً همون چیزیه که دنبالش بودی!

  • خیلی‌ها Django رو شروع می‌کنن، ولی وقتی به پروژه‌های واقعی می‌رسن، سردرگم می‌شن. این دوره پروژه‌محوره و بهت کمک می‌کنه هم مفاهیم رو اصولی یاد بگیری و هم مهارت‌هایی کسب کنی که توی بازار کار به دردت بخوره.

  • اگه می‌خوای طراحی سایت با پایتون یاد بگیری

  • می‌خوای وارد دنیای توسعه وب بشی و با پایتون و جنگو یه سایت حرفه‌ای بسازی؟ توی این دوره مسیر یادگیری مشخصی داری و می‌تونی کاملاً عملی جلو بری.
  • برنامه‌نویسایی که از فریمورک‌های دیگه به جنگو مهاجرت می‌کنن

  • قبلاً با Laravel، Node.js یا ASP.NET کار کردی و حالا می‌خوای بری سراغ جنگو؟ این دوره بهت یاد میده که چطور یه پروژه کامل رو با Django پیاده‌سازی کنی.
  • اگه می‌خوای وارد بازار کار بشی

  • شرکت‌ها و استارتاپ‌های زیادی دنبال توسعه‌دهنده Django هستن. توی این دوره یاد می‌گیری چطور با دو پروژه واقعی، مهارت‌های لازم رو برای ورود به بازار کار کسب کنی.

پس اگه به طراحی سایت با پایتون علاقه داری، ادامه بده تا ببینی توی این دوره چه چیزایی یاد می‌گیری و چطور می‌تونی یه توسعه‌دهنده جنگو بشی!

پروژه عملی دوره جنگو

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

پس اگه به طراحی سایت با پایتون علاقه داری، ادامه بده تا ببینی توی این دوره چه چیزایی یاد می‌گیری و چطور می‌تونی یه توسعه‌دهنده جنگو بشی!

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

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

معرفی پروژه ها
  • وبسایت خبری
  • وبسایت فروشگاهی

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

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

با رویکرد سنتی جنگو یعنی Model-View-Template کدنویسی می‌شه و کل مباحث فرانت‌اند رو با تمپلیت‌های خود جنگو و تکنولوژی‌های HTML، CSS و Bootstrap پیاده‌سازی می‌کنیم. بعد از اینکه پروژه تکمیل شد، همین پروژه رو به ساختار RESTful API تبدیل می‌کنیم

  • مدیریت کاربران

    • ثبت نام
    • تعریف کاربر جدید توسط ادمین
    • تعیین سطح دسترسی ها
    • فراموشی پسورد
    • ارسال پیامک به شماره تلفن
    • ویرایش کاربر
  • مدیریت اشتراک

    • تعریف انواع اشتراک ها و تعیین ویژگی ها، قابلیت ها، مدت اعتبار، قیمت و ...
    • خرید اشتراک ویژه توسط کاربر
    • تمدید اشتراک
    • ثبت کد تخفیف
    • اعمال کد تخفیف
  • مدیریت اخبار

    • درج خبر
    • تعیین وضعیت خبر (پیش نویس، منتشر یافته، در انتظار مشاهده سردبیر، نیازمند ویرایش)
    • تایید، ویرایش، بازگرداندن خبر به نویسنده جهت ویرایش یا رد خبر توسط سردبیر
    • دسته بندی اخبار (درج دسته بندی، ویرایش، تعیین موقعیت نمایش، عکس و توضیحات و ...)
    • سیستم تگ گذاری و نمایش اخبار مشابه
    • جستجوی و فیلتر خبر براساس تگ، نویسنده خبر، دسته بندی خبر و کلید واژه مشخص
    • امکان تعریف اخبار ویژه که برای خواندن آنها نیاز به خرید اشتراک می باشد.
    • سیستم کامنت گذاری کاربران و ثبت نظر درباره خبر (ثبت، ویرایش، تایید ادمین و ... )
    • رابطه چند به چند بین خبر و دسته بندی


  • امکانات پروژه فروشگاهی

    این پروژه به‌صورت کامل با معماری RESTful API پیاده‌سازی می‌شه و همه‌ی امکانات یه فروشگاه اینترنتی رو داره. برخی از قابلیت‌هاش شامل این موارده:

    • مدیریت کاربران و سطح دسترسی ها و موضوعات امنیتی مربوط به آن
    • ثبت محصول و ویژگی های آن
    • سبد کالا
    • سیستم تگ گذاری و نمایش اخبار مشابه
    • نمایش محصولات دارای موجودی
    • ماژول سفارش
    • سیستم ثبت نظر
    • سیستم جستجوی کالا
    • دسته بندی کالا
    • تحویل کالا با کد تحویل
    • تعیین نحوه تحویل کالا (پستی، پیک و ... )
    • و کلی امکانات دیگه که برای یه فروشگاه اینترنتی لازم و کاربردیه!

سرفصل‌های دوره جنگو (Django)

معرفی و مقدمه

این دوره، همه چیز رو از پایه تا پیشرفته بهت یاد میده!

توی این دوره مرحله‌به‌مرحله و کاملاً پروژه‌محور یاد می‌گیری چطور با جنگو یه پروژه واقعی بسازی و روی سرور منتشرش کنی. هر چیزی که یاد می‌گیری، مستقیماً تو بازار کار به دردت می‌خوره!

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

    • بررسی مفاهیم اولیه ی وب
    • معرفی جنگو و دلیل انتخاب آن برای برنامه نویسی وب
    • معرفی و ایجاد Virtual Environment
    • نصب Django
    • معرفی کد ادیتور (IDE) مناسب برای جنگو
    • راه اندازی پروژه
    • ساختمان پروژه جنگو و App های آن
  • تشریح ساختار یک پروژه جنگو

    • دایکتوری پروژه
    • سرور توسعه جنگو
    • تنظیمات IDE برای پروژه جنگو
  • درک معماری Model-View-Template

    • مدل ها
    • ویوها
    • تمپلیت
    • MVT در عمل
    • معرفی HTTP در پردازش یک درخواست
  • تنظیمات View ها و URL

    • ساختار یک URL
    • ارتباط URL با view ها و جزئیات نگاشت یک URL به یک view
  • بررسی Http و HTTP Method

    • کار عملی با درخواست GET و ساختمان URL و view مربوط به GET
    • کار عملی با درخواست POST و ساختمان URL و view مربوط به GET
    • ساخت Response مناسب سرور به درخواست های کاربر
  • آموزش کامل تنظیمات جنگو setting.py

    • فارسی سازی
    • تعریف timezone تهران
    • شمسی سازی تاریخ
    • تعریف App های جدید در setting.py
    • ساخت و تعریف پایگاه داده
  • آموزش نحوه استفاده از git در پروژه های این دوره

    • ساخت یک Repository عمومی در GitHub
    • آموزش مفاهیم git
    • دانلود و نصب
    • راه اندازی Git برای پروژه
    • بردن کدهای نوشته شده به مرحله Stage
    • Commit کردن کدها
    • تعریف Remote Repository در Git مربوط به پروژه
    • ارسال کدها به Repository GitHub (دستور Pull)
    • آموزش نحوه Clone کردن برای دانشجویان
    • دستور Pull و تفاوت آن با Clone
    • تقسیم پروژه به زیرپروژه‌ها و Task های جزئی‌تر و مستقل و تخصیص هر Task به دانشجویان
    • آموزش مفاهیم و نحوه ساخت Branch
    • ساخت Branch برای هر دانشجو و شروع کار اشتراکی در راستای Task های تخصیص
    • آموزش Merge کردن Branch ها

کار با تمپلیت‌ها

اگه پروژه‌مون RESTful API نباشه، تمپلیت‌ها نقش اصلی رو توی نمایش پروژه دارن. توی این دوره، وب‌سایت خبری رو به شکل کلاسیک پیاده‌سازی می‌کنیم، ولی فروشگاه اینترنتی رو با معماری RESTful API توسعه می‌دیم. توی بخش کار با تمپلیت‌ها، یه قالب مناسب برای پروژه انتخاب می‌کنیم، بهش اضافه می‌کنیم و با مفاهیمی مثل ارث‌بری، Template Tagها و زبان تمپلیت جنگو آشنا می‌شیم. جزئیات چیزایی که توی این بخش یاد می‌گیریم، اینجاست:

  • معرفی html و آموزش برخی از tag ها اصلی آن

    • ساخت یک صفحه HTML
    • تغییر المان‌های body و header
    • معرفی title در header
    • آموزش ساختاردهی صفحه با div
    • آموزش نمایش متن با تگ p
    • ساخت table در HTML
    • فرم‌ها در HTML
    • انواع فیلدهای یک فرم
    • دکمه ارسال و اکشن یک فرم
    • ارسال فایل از طریق یک فرم HTML
    • لیست‌های ترتیبی و غیر ترتیبی
    • ویژگی‌های تگ‌ها مانند id، class و …
    • استایل‌دهی در تگ‌ها
  • معرفی css و ارتباط بین html , css

    • آموزش برخی المانهای اساسی css
    • راست چین کردن و فارسی سازی
    • استایل دهی به بخش های مختلف صفحه
  • Bootstrap

    • تنظیم و اتصال بوت‌استرپ به جنگو
    • آموزش برخی المان‌های کاربردی بوت‌استرپ
    • استفاده از المان‌های بوت‌استرپ در پروژه‌های دوره
  • انتخاب و دانلود قالب مناسب

    • انتخاب یک قالب خبری شبیه وب‌سایت‌های خبری معروف
    • انتخاب یک قالب فروشگاهی شبیه فروشگاه‌های اینترنتی معروف کشور
  • اضافه کردن قالب به پروژه

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

  • زبان تمپلیت جنگو

    • Extends
    • Block
    • حلقه‌ها
    • شرط
    • فیلترهای Built-in
    • دستیابی به المان‌های مدل
    • ارث‌بری در تمپلیت‌ها

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

      مفهوم Template Tag

      Simple Tags

      Inclusion Tags

      فیلترهای تمپلیت

      ساخت صفحات پروژه یا اپلیکیشن وب‌سایت خبری

      ساخت منو

      نمایش اخبار پربازدید

      نمایش آخرین اخبار

      نمایش اخبار بر اساس لایک کاربران

      نمایش اخبار بر اساس تعداد کامنت

      نمایش اخبار بر اساس دسته‌بندی موضوعی

      نمایش تعداد لایک و کامنت‌های یک خبر در صفحه اول لیست اخبار و صفحه جزئیات هر خبر

      فیلتر کردن اخبار بر اساس کلیدواژه جستجوی کاربر

      ایجاد و نمایش صفحه‌بندی (Pagination)

      ایجاد صفحه ارتباط با ما و ارسال ایمیل

پایگاه داده و مدیریت ادمین پنل

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

  • آموزش مفهوم پایگاه داده و انواع پایگاه داده ها

    • پایگاه داده‌های رابطه‌ای
    • عملیات پایگاه داده با SQL
    • انواع داده‌ها در پایگاه داده
  • آموزش عملیات CRUD

    • عملیات SQL Create
    • عملیات SQL Read
    • عملیات SQL Update
    • عملیات SQL Delete
  • آموزش ORM جنگو

    • تنظیمات پایگاه داده در جنگو
    • MakeMigrations و Migrate
  • ایجاد مدل ها و migrations

    • گزینه‌ها و انواع داده‌های مربوط به فیلد
    • کلید اصلی
    • رابطه یک به یک
    • رابطه چند به یک
    • رابطه چند به چند
    • مدل واسط در رابطه چند به چند
    • متدهای مدل
    • ارث‌بری
    • Manager
    • کلاس Meta
  • عملیات CRUD روی دیتابیس با از طریق جنگو

    • ایجاد Object با استفاده از متد create
    • ایجاد Object با رابطه کلید خارجی
    • ایجاد رکورد برای رابطه چند به یک
    • ایجاد رکورد با رابطه چند به چند
    • متد add() در رابطه چند به چند
    • استفاده از متدهای create() و set() در روابط چند به چند
    • عملیات خواندن روابط چند به چند
    • استفاده از متد get() برای دستیابی به یک Object
    • بازیابی داده‌ها با استفاده از متد all()
    • بازیابی داده‌ها با استفاده از متد filter()
    • استفاده از order_by() برای مرتب‌سازی
  • ادمین پنل

    • ایجاد Superuser
    • تغییر مدل User پیش‌فرض جنگو
    • اضافه کردن مدل‌ها به ادمین پنل
    • بررسی ادمین پنل
    • نمایش لیست آبجکت‌های مدل
    • تعریف فیلتر در ادمین پنل
    • تعریف Search Box و معیارهای جستجوی رکوردها در ادمین پنل
    • ترتیب نمایش رکوردها
    • فارسی‌سازی مدل‌ها و ادمین پنل
    • تعریف اکشن در ادمین پنل
    • سفارشی‌سازی پنل ادمین
  • ساخت مدل ها و ادمین پنل پروژه

  • Sessions

    • Session چیست؟
    • فعال کردن و پیکربندی Sessions
    • ذخیره‌سازی داده‌ها در Sessions
    • کدام نوع داده باید ذخیره شود
    • استفاده از داده‌های Session

Viewها و فرم‌ها

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

  • URL

    • انواع Request‌ها
    • پاسخ مناسب به Request GET
    • ساختار URL
    • فارسی‌سازی Slug در URL
  • URL

    • انواع Request‌ها
    • پاسخ مناسب به Request GET
    • ساختار URL
    • فارسی‌سازی Slug در URL
  • View

    • شمسی‌سازی نمایش تاریخ
    • واکشی داده‌ها از پایگاه داده و ارسال به تمپلیت جهت نمایش
    • مدیریت دسترسی‌ها و مجوزها
    • View‌های Functional Based View (FBV)
    • تعریف Decorator‌ها و استفاده مناسب از آن‌ها
    • View‌های Class Based View (CBV)
    • انواع CBV‌ها (ListView, DetailView, FormView, ...)
    • انتخاب CBV مناسب بر اساس نوع درخواست کاربر
    • معرفی Mixin‌ها و استفاده بهینه از آن‌ها
    • انواع Response‌های View‌ها
  • فرم

    • چیستی فرم
    • المان‌های فرم
    • انواع input
    • امنیت فرم با Cross-Site-Request
    • دسترسی به داده‌ها در view
    • کار با داده‌های POST در ویو
    • تصمیم‌گیری بین GET و POST
    • تعریف فرم در جنگو
    • نمایش فرم در تمپلیت
    • ایجاد فرم مستقل از مدل
    • اعتبارسنجی ورودی‌های کاربر و جلوگیری از نفوذ و عملیات مخرب
    • اعتبارسنجی custom
    • متد cleaning
    • اعتبارسنجی چند فیلد با همدیگر
    • اضافه کردن مقدار اولیه به فیلدها
  • اتصال خودکار مدل ها به فرم

    • کلاس ModelForm
    • ایجاد و ویرایش یک Object با استفاده از ModelForm
    • استایل‌دهی به فرم‌ها
  • مدیا و آپلود فایل

    • تنظیمات آپلود مدیا
    • تنظیمات مدیا و فایل در محیط توسعه
    • پردازش زمینه‌ای و MEDIA_URL در Template
    • آپلود فایل با استفاده از فرم‌های HTML
    • دانلود فایل
    • آپلود فایل با فرم جنگو
    • آپلود تصویر با فرم جنگو
    • تغییر سایز و اندازه تصویر با استفاده از Pillow
    • نمایش تصویر آپلود شده در مرورگر
    • کار با فیلد FileField
    • آپلود فایل با استفاده از ModelForm
    • آپلود تصویر با استفاده از ModelForm
    • عملیات قبل از ذخیره‌سازی تصویر
    • عملیات قبل از ذخیره‌سازی فایل

ساخت API با Django REST Framework (DRF)

امروزه بیشتر وبسایت‌ها با دستگاه‌های مختلف (موبایل، تبلت، دسکتاپ و غیره) در ارتباط هستن و کسب‌وکارهای زیادی به اپلیکیشن‌های موبایل وابسته‌ان. اینجاست که سرویس‌دهنده‌های وب وارد عمل می‌شن تا محتوای اپلیکیشن و منطق کسب‌وکار رو مدیریت کنن. با استفاده از RESTful API، جنگو این امکان رو فراهم می‌کنه که به‌راحتی ارتباط بین اپلیکیشن‌ها و دستگاه‌های مختلف برقرار بشه.

تو این بخش قراره RESTful API رو به‌طور کامل بررسی کنیم و پروژه فروشگاهی دوره رو بر همین اساس پیاده‌سازی کنیم. اینطوری، هم اپلیکیشن موبایل فروشگاه و هم فرانت‌اند تحت وب (مثلاً با React) می‌تونن از طریق APIهای تعریف‌شده به سرور جنگو متصل بشن و داده‌ها رو دریافت یا ارسال کنن. موضوعاتی که تو این بخش یاد می‌گیریم شامل موارد زیره:

  • API, REST
  • تفاوت API با ساختار تمپلیت جنگو
  • نصب و راه‌اندازی ماژول RestFramework
  • تفاوت Response در API
  • نحوه ارتباط توسعه‌دهنده Backend با توسعه‌دهنده Frontend
  • API Views
  • Serializer
  • ModelSerializer
  • دریافت داده‌های ورودی از POST و Validation
  • به‌روزرسانی اطلاعات از طریق PUT
  • حذف یک آبجکت از طریق DELETE
  • Postman
  • تعیین دسترسی و مجوزها
  • انواع روش‌های Authorization
  • ClassBasedViewها در Restframework

    • محدودیت دسترسی با permission_classes
    • عملکردهای PUT, DELETE و GET
    • GenericViews
    • Mixin‌ها
    • ViewSet‌ها
    • DefaultRouter
    • ModelViewSet
    • SimpleRouter
    • ReadOnly و WriteOnly یک فیلد
    • گرفتن اطلاعات User از درخواست و اهمیت request در Serializer
  • ایجاد API Document

  • Authentication API

    • کار با Serializer و RegistrationView
    • Token Authentication
    • از بین بردن Token
    • JWT

داکر

  • مفهوم Docker, Container, Image
  • نصب Docker
  • Docker Hub
  • دستورات پایه
  • Containers Lifecycle
  • لایه‌های Image
  • Port Forwarding
  • Volume
  • Network
  • Dockerfile
  • Docker-Compose
  • داکرایز کردن پروژه جنگو

استقرار در وب سرور و هاست (Deploy)

بعد از اینکه وبسایت رو به‌صورت کامل توسعه دادیم و تست‌های لازم رو تو محیط Local انجام دادیم، وقتشه که پروژه رو روی یه سرور واقعی Deploy کنیم تا برای کاربران در دسترس باشه. تو این بخش، قدم‌به‌قدم یاد می‌گیریم چطوری یه سرور مناسب برای جنگو انتخاب کنیم، تنظیمات لازم رو انجام بدیم، پروژه رو روی سرور مستقر کنیم و در نهایت، تست‌های نهایی رو برای اطمینان از عملکرد درست سایت اجرا کنیم.

  • بررسی سرور و هاست‌های مناسب برای جنگو
  • خرید سرور
  • ارسال پروژه به GitHub
  • تنظیمات سرور و نصب نرم‌افزارهای مورد نیاز
  • استقرار پروژه در سرور
  • تنظیمات محیط مجازی و نصب پکیج‌ها روی سرور
  • تنظیم Static فایل‌ها
  • نصب Gunicorn
  • تنظیمات Gunicorn
  • نصب و تنظیمات Nginx

بعد از این دوره، می‌تونی یه پروژه Django رو از صفر تا انتشار روی اینترنت مدیریت کنی!


مقایسه جامع دوره آموزش جنگو با سایر روش‌های یادگیری

اگه تا حالا سراغ آموزش جنگو رایگان یا خوندن کتاب و مقالات Django رفتی، حتماً این مشکلاتو تجربه کردی:

مشکل بیشتر منابع آموزشی چیه؟

    • مسیر یادگیری مشخصی ندارن و همه‌چیز پراکندس.
    • فقط تئوریه و خبری از تمرین و پروژه واقعی نیست.
    • وقتی به مشکل برمی‌خوری، هیچ پشتیبانی‌ای وجود نداره.
    • آخرش یه پروژه واقعی و قابل ارائه برای رزومه نداری.
ویژگی‌ها آموزش‌های رایگان و پراکنده کتاب و مقالات (خودخوان) دوره‌های ضبط‌شده کلاس‌های حضوری دوره آموزشی Django ما
مسیر یادگیری مشخص و هدفمند ❌ نه، پراکنده و نامرتب ❌ اطلاعات تئوری و بدون راهنمای عملی ⭕ بعضی دوره‌ها مسیر دارن اما ناقص ⭕ بستگی به سطح آموزشگاه داره ✅ بله، گام‌به‌گام از مقدماتی تا پروژه واقعی
یادگیری عملی و پروژه‌محور ❌ فقط مثال‌های ساده ❌ فقط تئوری، بدون تمرین ⭕ بعضی دوره‌ها عملی هستن ⭕ بعضی آموزشگاه‌ها پروژه دارن ✅ بله، ساخت دو پروژه واقعی (وبسایت خبری و فروشگاهی)
پشتیبانی و رفع اشکال ❌ اصلاً وجود نداره ❌ خودت باید مشکل رو حل کنی ❌ بعد از دوره معمولاً پشتیبانی نداره ⭕ بستگی به مدرس داره ✅ بله، دریافت راهنمایی در طول دوره
بررسی و اصلاح کدها توسط مدرس ❌ نه، فقط ارائه کدهای آماده ❌ نه، هیچ فیدبکی نیست ⭕ بعضی دوره‌ها این امکان رو دارن ⭕ بستگی به تعامل در کلاس داره ✅ بله، بررسی کدهای دانشجو و ارائه فیدبک کاربردی
یادگیری Django REST Framework و ساخت API ❌ معمولاً گفته نمیشه یا سطحیه ❌ فقط تئوری بدون تمرین ⭕ بعضی دوره‌ها پوشش میدن ⭕ بستگی به مدرس داره ✅ بله، ساخت APIهای کاربردی برای پروژه‌ها
مهارت‌های موردنیاز بازار کار ❌ نه، بیشتر آکادمیکه ❌ فقط تئوری، بدون تجربه عملی ⭕ بعضی دوره‌ها بازار کار رو پوشش میدن ⭕ بستگی به سطح آموزشگاه داره ✅ بله، یادگیری مهارت‌های کاملاً عملی برای ورود به بازار کار
استقرار (Deploy) پروژه روی سرور واقعی ❌ معمولاً آموزش داده نمیشه ❌ فقط توضیحات تئوری درباره هاستینگ ⭕ در بعضی دوره‌ها هست ⭕ بستگی به سرفصل آموزشگاه داره ✅ بله، آموزش کامل انتشار پروژه روی سرور واقعی
ورود به بازار کار بعد از یادگیری ❌ تضمینی نیست، بستگی به خودت داره ❌ نه، اطلاعات تئوری کمکی به استخدام نمی‌کنه ⭕ بعضی دوره‌ها بازار کار رو پوشش میدن ⭕ بستگی به سطح آموزشگاه داره ✅ بله، این دوره مستقیماً مهارت‌های لازم برای استخدام رو بهت یاد میده

این دوره فقط یه آموزش ساده نیست، یه مسیره که تو رو از یه مبتدی به یه توسعه‌دهنده واقعی تبدیل می‌کنه.

اگه دنبال یادگیری کاربردی و ورود به بازار کار هستی، این دوره همون چیزیه که لازم داری!


سوالات متداول

هنوز برات سواله؟ اینجا جواب پرتکرارترین سوال‌هایی که ممکنه درباره یادگیری جنگو، بازار کار Django و پیش‌نیازهای این دوره داشته باشی رو پیدا می‌کنی.

آیا باید پایتون بلد باشم؟
آره، حتماً! داشتن یه آشنایی پایه با پایتون کمکت می‌کنه راحت‌تر یاد بگیری. اگه هنوز باهاش کار نکردی، بهتره اول یه دوره مقدماتی پایتون ببینی.
چقدر طول می‌کشه تا توی جنگو حرفه‌ای بشم؟
بستگی به خودت داره! اگه منظم تمرین کنی و پروژه‌های این دوره رو انجام بدی، توی چند هفته می‌تونی یه پروژه واقعی رو از صفر تا صد اجرا کنی.
آیا بعد از این دوره می‌تونم کار پیدا کنم؟
حتماً! این دوره جوری طراحی شده که مهارت‌های بازار کار رو یاد بگیری. توی دوره دوتا پروژه واقعی (یه وبسایت خبری و یه فروشگاه آنلاین) می‌سازی، که می‌تونی توی رزومه‌ات بذاری و باهاش کار بگیری.
چرا باید جنگو یاد بگیرم؟ چه فایده‌ای داره؟
جنگو یکی از محبوب‌ترین فریمورک‌های وب با پایتونه! سریع، امن و پرقدرته. کلی استارتاپ و شرکت‌های بزرگ ازش استفاده می‌کنن، پس بازار کار خیلی خوبی داره!
این دوره فقط تئوریه یا عملی هم داره؟
کاملاً پروژه‌محوره! فقط یه مشت ویدیو نیست که ببینی و فراموش کنی، قراره دوتا پروژه واقعی بسازی و حسابی توی Django راه بیفتی.
این دوره برای چه کسایی مناسبه؟
  • اگه یکی از این دسته‌ها هستی، این دوره برای توئه:
  • اگه می‌خوای با پایتون طراحی سایت یاد بگیری.
  • اگه با فریمورک‌های دیگه مثل Laravel یا Node.js کار کردی و می‌خوای به Django مهاجرت کنی.
  • اگه می‌خوای یه مسیر حرفه‌ای برای ورود به بازار کار داشته باشی.
بعد از یادگیری Django می‌تونم فول‌استک بشم؟
آره! اگه بعدش بخوای فول‌استک بشی، می‌تونی React.js یا Vue.js رو یاد بگیری و همزمان روی فرانت‌اند و بک‌اند مسلط بشی.

هنوز سوالی داری؟ اگه چیزی توی این لیست نبود، می‌تونی از طریق بخش پشتیبانی سایت بپرسی و راهنمایی بگیری!

مهندس مصطفایی
مدرس دوره

سعید مصطفایی کارشناس ارشد مهندسی فناوری اطلاعات از دانشگاه تربیت مدرس تهران هستند. ایشان ۱۰ سال سابقه کار در زمینه برنامه ریزی و کنترل پروژه های نرم افزاری دارد و اکنون در زمینه مشاوره تحلیل و طراحی نرم افزار و استقرار فرایندهای Agile در سازمان ها فعالیت می کنند. ایشان همچنین تدریس در دوره های مختلف از جمله تجزیه و تحلیل نرم افزار، مدیریت پروژه چابک، تجزیه و تحلیل کسب و کار، کاربرد فناوری اطلاعات در سازمان، مهندسی مجدد کسب و کار، برنامه نویسی موبایل با استفاده از تکنولوژی وب و PhoneGap و طراحی و برنامه نویسی تحت وب را در کارنامه خود دارد.

  • کارشناس ارشد مهندسی فناوری اطلاعات
  • دانشگاه تربیت مدرس تهران
ارائه مدرک بین المللی فنی و حرفه ای

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

همین حالا ثبت نام کن!
ریسپانسیو (واکنش گرا) چیست؟
ریسپانسیو (واکنش گرا) چیست؟

دیدین وقتی با موبایل وارد بعضی سایت‌ها می‌شین، متن‌ها ریزن، دکمه‌ها جابه‌جا شدن و مجبورین زوم کنین؟ ولی بعضی سایت‌ها کاملاً مرتب و خوانا هستن! راز این تفاوت چیه؟ طراحی ریسپانسیو! تو این مطلب یاد می‌گیرین چطور سایتتون رو واکنش‌گرا کنین تا روی همه دستگاه‌ها عالی دیده بشه.

بهترین زبان های برنامه نویسی برای طراحی سایت در 2025
بهترین زبان های برنامه نویسی برای طراحی سایت در 2025

امروز میخوایم درباره یکی از سوال‌ های همیشگی دنیای برنامه نویسی صحبت کنیم: بهترین زبان های برنامه نویسی برای طراحی سایت چیه؟ تکنولوژی با سرعت زیادی پیش میره و اگه برنامه‌ نویسا خودشونو به‌روز نکنن، خیلی زود عقب میمونن. برای پیدا کردن جواب این سؤال، به داده‌ های نظرسنجی Stack Overflow، شاخص TIOBE، گزارش‌ های GitHub و حتی آگهی‌ های شغلی سر زدیم تا ببینیم محبوب‌ ترین و پرکاربرد ترین زبان ‌های طراحی سایت کدوم‌ ها هستن. بیاین باهم بررسی کنیم که این روزها چه زبان هایی دنیای توسعه وب رو تسخیر کردن!

تحلیل داده یا دیتا آنالیز چیست؟
تحلیل داده یا دیتا آنالیز چیست؟

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

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

اگه تازه میخوای برنامه نویسی رو شروع کنی یا دنبال یه زبان مناسب برای پیشرفت توی کارت هستی، احتمالاً این سؤال برات پیش اومده: پایتون بهتره یا سی شارپ؟ هر دو تا زبان خیلی قوی هستن، کلی طرفدار دارن و حسابی توی دنیای برنامه نویسی استفاده میشن، ولی هر کدومشون کاربرد و ویژگی‌ های خاص خودشون رو دارن. توی این مقاله، قراره خیلی ساده درباره تفاوت پایتون و سی شارپ حرف بزنیم تا راحت‌ تر بتونی تصمیم بگیری.

نظرات شما

نظرات خود را ثبت کنید...






آموزش برنامه نویسی پرستو علیمردانی 1401/12/01
دوره آموزش Django

سلام وقت بخیر دوره آموزش Django چه پیش نیازی لازم داره؟

آموزش برنامه نویسی ادمین 1401/12/01

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

آموزش برنامه نویسی شهریار محمدی 1401/11/30
دوره آموزش Django

مدرک هم میدین بعد از پایان دوره ؟

آموزش برنامه نویسی ادمین 1401/12/01

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

آموزش برنامه نویسی منیره سیدی 1401/11/29
دوره آموزش Django

سلام دوره حضوری هست؟

آموزش برنامه نویسی ادمین 1401/12/01

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

این دوره به سبد خرید اضافه شد
دوره آموزش جنگو (Django) از پایه تا پیشرفته + پروژه عملی 8,000,000
رفتن به سبد خرید