مسیر یادگیری django-teen

این مسیر توضیحات ندارد

📚 12 دوره آموزشی
🗺️ 12 گام یادگیری

نقشه راه تعاملی django-teen

django-teen چیست؟

این مسیر توضیحات ندارد

مراحل و سرفصل‌های یادگیری django-teen

برای تسلط کامل بر django-teen، این نقشه راه به مراحل مشخص تقسیم شده است. پیشنهاد می‌کنیم مراحل را به ترتیب و همراه با تمرین عملی طی کنید:

مرحله 1

مرحله 1: دوره صفر: آشنایی با بکاند و دنیای وب

فصل اول: نرمافزار چگونه کار میکند؟

• نرمافزار چیست؟

درس 1: نرمافزار چیست؟

• ورودی، پردازش و خروجی

درس 2: ورودی، پردازش و خروجی

• برنامه موبایل، دسکتاپ و وب

درس 3: برنامه موبایل، دسکتاپ و وب

• Frontend چیست؟

درس 4: Frontend چیست؟

• Backend چیست؟

درس 5: Backend چیست؟

• پایگاه داده چیست؟

درس 6: پایگاه داده چیست؟

• مثال واقعی: ثبتنام در یک سایت

درس 7: مثال واقعی: ثبتنام در یک سایت

فصل دوم: اینترنت و وب

• اینترنت چیست؟

درس 1: اینترنت چیست؟

• مرورگر و سرور

درس 2: مرورگر و سرور

• درخواست و پاسخ

درس 3: درخواست و پاسخ

• دامنه و آدرس IP

درس 4: دامنه و آدرس IP

• URL چیست؟

درس 5: URL چیست؟

• HTTP و HTTPS

درس 6: HTTP و HTTPS

• یک سایت چگونه باز میشود؟

درس 7: یک سایت چگونه باز میشود؟

فصل سوم: دادهها در یک سایت

• سایت اطلاعات را کجا نگه میدارد؟

درس 1: سایت اطلاعات را کجا نگه میدارد؟

• اطلاعات کاربر چیست؟

درس 2: اطلاعات کاربر چیست؟

• ثبتنام چگونه انجام میشود؟

درس 3: ثبتنام چگونه انجام میشود؟

• ورود چگونه انجام میشود؟

درس 4: ورود چگونه انجام میشود؟

• سبد خرید چگونه ذخیره میشود؟

درس 5: سبد خرید چگونه ذخیره میشود؟

• چرا باید از اطلاعات محافظت کنیم؟

درس 6: چرا باید از اطلاعات محافظت کنیم؟

فصل چهارم: ابزارهای برنامهنویس بکاند

• فایل و پوشه

درس 1: فایل و پوشه

• نصب Python

درس 2: نصب Python

• آشنایی با VS Code

درس 3: آشنایی با VS Code

• Terminal چیست؟

درس 4: Terminal چیست؟

• اجرای اولین دستور

درس 5: اجرای اولین دستور

• ساخت پوشه پروژه

درس 6: ساخت پوشه پروژه

• اجرای اولین فایل Python

درس 7: اجرای اولین فایل Python

• آشنایی مقدماتی با Git

درس 8: آشنایی مقدماتی با Git

مرحله 2

مرحله 2: دوره اول: برنامهنویسی مقدماتی با Python

فصل اول: اولین برنامه Python

• Python چیست و چه کاربردهایی دارد؟

درس 1: Python چیست و چه کاربردهایی دارد؟

• اجرای Python در Terminal

درس 2: اجرای Python در Terminal

• ساخت فایل .py

درس 3: ساخت فایل .py

• دستور print

درس 4: دستور print

• Comment

درس 5: Comment

• خطاهای Syntax

درس 6: خطاهای Syntax

• خواندن پیام خطا

درس 7: خواندن پیام خطا

• ساخت برنامه معرفی خود

درس 8: ساخت برنامه معرفی خود

فصل دوم: متغیرها و انواع داده

• متغیر چیست؟

درس 1: متغیر چیست؟

• انتخاب نام مناسب برای متغیر

درس 2: انتخاب نام مناسب برای متغیر

• String

درس 3: String

• Integer و Float

درس 4: Integer و Float

• Boolean

درس 5: Boolean

• مقدار None

درس 6: مقدار None

• تابع type

درس 7: تابع type

• تبدیل نوع داده

درس 8: تبدیل نوع داده

• دریافت اطلاعات با input

درس 9: دریافت اطلاعات با input

فصل سوم: عملگرها

• جمع، تفریق، ضرب و تقسیم

درس 1: جمع، تفریق، ضرب و تقسیم

• تقسیم صحیح

درس 2: تقسیم صحیح

• باقیمانده تقسیم

درس 3: باقیمانده تقسیم

• توان

درس 4: توان

• مقایسه اعداد

درس 5: مقایسه اعداد

• برابری و نابرابری

درس 6: برابری و نابرابری

• عملگرهای منطقی

درس 7: عملگرهای منطقی

• ترتیب اجرای عملگرها

درس 8: ترتیب اجرای عملگرها

فصل چهارم: شرطها

• تصمیمگیری در برنامه

درس 1: تصمیمگیری در برنامه

• دستور if

درس 2: دستور if

• دستور else

درس 3: دستور else

• دستور elif

درس 4: دستور elif

• شرطهای ترکیبی

درس 5: شرطهای ترکیبی

• شرطهای تودرتو

درس 6: شرطهای تودرتو

• بررسی چند حالت

درس 7: بررسی چند حالت

• نوشتن شرط خوانا

درس 8: نوشتن شرط خوانا

فصل پنجم: حلقهها

• چرا به تکرار نیاز داریم؟

درس 1: چرا به تکرار نیاز داریم؟

• حلقه for

درس 2: حلقه for

• تابع range

درس 3: تابع range

• حلقه while

درس 4: حلقه while

• شمارنده

درس 5: شمارنده

• break

درس 6: break

• continue

درس 7: continue

• حلقه تودرتو

درس 8: حلقه تودرتو

• جلوگیری از حلقه بینهایت

درس 9: جلوگیری از حلقه بینهایت

فصل ششم: توابع

• تابع چیست؟

درس 1: تابع چیست؟

• تعریف تابع

درس 2: تعریف تابع

• اجرای تابع

درس 3: اجرای تابع

• پارامتر

درس 4: پارامتر

• آرگومان

درس 5: آرگومان

• خروجی با return

درس 6: خروجی با return

• مقدار پیشفرض

درس 7: مقدار پیشفرض

• متغیر محلی و Scope

درس 8: متغیر محلی و Scope

• تقسیم مسئله به توابع کوچک

درس 9: تقسیم مسئله به توابع کوچک

• مستندسازی تابع

درس 10: مستندسازی تابع

فصل هفتم: رشتهها

• کاراکتر و String

درس 1: کاراکتر و String

• دسترسی به حروف

درس 2: دسترسی به حروف

• برش رشته

درس 3: برش رشته

• طول رشته

درس 4: طول رشته

• متدهای مهم String

درس 5: متدهای مهم String

• جستوجو و جایگزینی

درس 6: جستوجو و جایگزینی

• پاکسازی ورودی کاربر

درس 7: پاکسازی ورودی کاربر

• قالببندی با f-string

درس 8: قالببندی با f-string

مرحله 3

مرحله 3: دوره دوم: ساختارهای داده و Python کاربردی

فصل اول: List

• فهرست چیست؟

درس 1: فهرست چیست؟

• ساخت List

درس 2: ساخت List

• دسترسی به اعضا

درس 3: دسترسی به اعضا

• تغییر عضو

درس 4: تغییر عضو

• اضافهکردن عضو

درس 5: اضافهکردن عضو

• حذف عضو

درس 6: حذف عضو

• مرتبسازی

درس 7: مرتبسازی

• جستوجو

درس 8: جستوجو

• پیمایش List

درس 9: پیمایش List

• List تودرتو

درس 10: List تودرتو

فصل دوم: Dictionary

• داده کلید و مقدار

درس 1: داده کلید و مقدار

• ساخت Dictionary

درس 2: ساخت Dictionary

• خواندن اطلاعات

درس 3: خواندن اطلاعات

• تغییر اطلاعات

درس 4: تغییر اطلاعات

• اضافهکردن کلید

درس 5: اضافهکردن کلید

• حذف کلید

درس 6: حذف کلید

• پیمایش کلیدها و مقادیر

درس 7: پیمایش کلیدها و مقادیر

• Dictionary تودرتو

درس 8: Dictionary تودرتو

• List شامل Dictionary

درس 9: List شامل Dictionary

• مدلکردن دانشآموز، محصول و کتاب

درس 10: مدلکردن دانشآموز، محصول و کتاب

فصل سوم: Tuple و Set

• Tuple چیست؟

درس 1: Tuple چیست؟

• تفاوت Tuple و List

درس 2: تفاوت Tuple و List

• Set چیست؟

درس 3: Set چیست؟

• حذف دادههای تکراری

درس 4: حذف دادههای تکراری

• اجتماع و اشتراک

درس 5: اجتماع و اشتراک

• انتخاب ساختار داده مناسب

درس 6: انتخاب ساختار داده مناسب

فصل چهارم: متدهای کاربردی و Comprehension

• enumerate

درس 1: enumerate

• zip

درس 2: zip

• min، max و sum

درس 3: min، max و sum

• sorted

درس 4: sorted

• List Comprehension

درس 5: List Comprehension

• شرط در Comprehension

درس 6: شرط در Comprehension

• Dictionary Comprehension

درس 7: Dictionary Comprehension

• خوانایی در برابر کوتاهنویسی

درس 8: خوانایی در برابر کوتاهنویسی

فصل پنجم: مدیریت خطا

• خطاهای Syntax، Runtime و Logic

درس 1: خطاهای Syntax، Runtime و Logic

• Exception چیست؟

درس 2: Exception چیست؟

• try و except

درس 3: try و except

• مدیریت چند خطا

درس 4: مدیریت چند خطا

• else و finally

درس 5: else و finally

• تولید خطا با raise

درس 6: تولید خطا با raise

• پیام خطای مناسب برای کاربر

درس 7: پیام خطای مناسب برای کاربر

• ثبت و بررسی خطا

درس 8: ثبت و بررسی خطا

فصل ششم: فایلها

• فایل متنی چیست؟

درس 1: فایل متنی چیست؟

• بازکردن فایل

درس 2: بازکردن فایل

• خواندن فایل

درس 3: خواندن فایل

• نوشتن در فایل

درس 4: نوشتن در فایل

• اضافهکردن محتوا

درس 5: اضافهکردن محتوا

• استفاده از with

درس 6: استفاده از with

• مسیر فایلها

درس 7: مسیر فایلها

• مدیریت خطای فایل

درس 8: مدیریت خطای فایل

• کار با CSV

درس 9: کار با CSV

• ذخیره اطلاعات ساده در JSON

درس 10: ذخیره اطلاعات ساده در JSON

فصل هفتم: ماژولها و پکیجها

• ماژول چیست؟

درس 1: ماژول چیست؟

• ساخت ماژول شخصی

درس 2: ساخت ماژول شخصی

• import

درس 3: import

• واردکردن بخش مشخص

درس 4: واردکردن بخش مشخص

• ماژولهای استاندارد Python

درس 5: ماژولهای استاندارد Python

• datetime

درس 6: datetime

• random

درس 7: random

• pathlib

درس 8: pathlib

• ساخت پکیج ساده

درس 9: ساخت پکیج ساده

• تقسیم پروژه به چند فایل

درس 10: تقسیم پروژه به چند فایل

مرحله 4

مرحله 4: دوره سوم: برنامهنویسی شیگرا و طراحی نرمافزار

فصل اول: ورود به شیگرایی

• مسئله کدهای پراکنده

درس 1: مسئله کدهای پراکنده

• Object چیست؟

درس 2: Object چیست؟

• Class چیست؟

درس 3: Class چیست؟

• ساخت اولین Class

درس 4: ساخت اولین Class

• ساخت Object

درس 5: ساخت Object

• Attribute

درس 6: Attribute

• Method

درس 7: Method

• متد __init__

درس 8: متد __init__

فصل دوم: رفتار کلاسها

• Instance Attribute

درس 1: Instance Attribute

• Class Attribute

درس 2: Class Attribute

• Instance Method

درس 3: Instance Method

• Class Method

درس 4: Class Method

• Static Method

درس 5: Static Method

• متد __str__

درس 6: متد __str__

• اعتبارسنجی اطلاعات شیء

درس 7: اعتبارسنجی اطلاعات شیء

• همکاری چند شیء

درس 8: همکاری چند شیء

فصل سوم: اصول شیگرایی

• Encapsulation

درس 1: Encapsulation

• Property

درس 2: Property

• Inheritance

درس 3: Inheritance

• Override

درس 4: Override

• Polymorphism

درس 5: Polymorphism

• Composition

درس 6: Composition

• ارثبری یا ترکیب؟

درس 7: ارثبری یا ترکیب؟

• جلوگیری از طراحی بیش از حد پیچیده

درس 8: جلوگیری از طراحی بیش از حد پیچیده

فصل چهارم: مدلسازی پروژه واقعی

• شناسایی موجودیتها

درس 1: شناسایی موجودیتها

• تعیین ویژگیها

درس 2: تعیین ویژگیها

• تعیین رفتارها

درس 3: تعیین رفتارها

• ارتباط میان موجودیتها

درس 4: ارتباط میان موجودیتها

• طراحی کلاس User

درس 5: طراحی کلاس User

• طراحی کلاس Product

درس 6: طراحی کلاس Product

• طراحی کلاس Order

درس 7: طراحی کلاس Order

• طراحی کلاس OrderItem

درس 8: طراحی کلاس OrderItem

• محاسبه مبلغ سفارش

درس 9: محاسبه مبلغ سفارش

• مدیریت وضعیت سفارش

درس 10: مدیریت وضعیت سفارش

فصل پنجم: محیط مجازی و مدیریت وابستگیها

• کتابخانه چیست؟

درس 1: کتابخانه چیست؟

• pip چیست؟

درس 2: pip چیست؟

• نصب پکیج

درس 3: نصب پکیج

• محیط مجازی چیست؟

درس 4: محیط مجازی چیست؟

• ساخت Virtual Environment

درس 5: ساخت Virtual Environment

• فعالسازی و غیرفعالسازی

درس 6: فعالسازی و غیرفعالسازی

• فایل وابستگیها

درس 7: فایل وابستگیها

• نصب وابستگیهای یک پروژه

درس 8: نصب وابستگیهای یک پروژه

• تفاوت وابستگی مستقیم و غیرمستقیم

درس 9: تفاوت وابستگی مستقیم و غیرمستقیم

مرحله 5

مرحله 5: دوره چهارم: وب، HTTP، API و پایگاه داده

فصل اول: HTTP

• Client و Server

درس 1: Client و Server

• Request و Response

درس 2: Request و Response

• ساختار URL

درس 3: ساختار URL

• HTTP Method

درس 4: HTTP Method

• GET

درس 5: GET

• POST

درس 6: POST

• PUT و PATCH

درس 7: PUT و PATCH

• DELETE

درس 8: DELETE

• Header

درس 9: Header

• Body

درس 10: Body

• Query Parameter

درس 11: Query Parameter

• Status Code

درس 12: Status Code

فصل دوم: وضعیتهای HTTP

• پاسخهای 2xx

درس 1: پاسخهای 2xx

• Redirectهای 3xx

درس 2: Redirectهای 3xx

• خطاهای 4xx

درس 3: خطاهای 4xx

• خطاهای 5xx

درس 4: خطاهای 5xx

• تفاوت 400 و 404

درس 5: تفاوت 400 و 404

• تفاوت 401 و 403

درس 6: تفاوت 401 و 403

• انتخاب Status Code مناسب

درس 7: انتخاب Status Code مناسب

• طراحی پاسخ خطای خوانا

درس 8: طراحی پاسخ خطای خوانا

فصل سوم: JSON و API

• API چیست؟

درس 1: API چیست؟

• Frontend چگونه با Backend صحبت میکند؟

درس 2: Frontend چگونه با Backend صحبت میکند؟

• JSON چیست؟

درس 3: JSON چیست؟

• Object و Array در JSON

درس 4: Object و Array در JSON

• تبدیل داده Python به JSON

درس 5: تبدیل داده Python به JSON

• Endpoint چیست؟

درس 6: Endpoint چیست؟

• Resource چیست؟

درس 7: Resource چیست؟

• طراحی API مدیریت تکالیف

درس 8: طراحی API مدیریت تکالیف

• استفاده از ابزار آزمایش API

درس 9: استفاده از ابزار آزمایش API

• تفاوت API و صفحه HTML

درس 10: تفاوت API و صفحه HTML

فصل چهارم: مبانی پایگاه داده

• مشکل ذخیره اطلاعات در فایل

درس 1: مشکل ذخیره اطلاعات در فایل

• Database چیست؟

درس 2: Database چیست؟

• جدول

درس 3: جدول

• سطر و ستون

درس 4: سطر و ستون

• نوع داده ستون

درس 5: نوع داده ستون

• Primary Key

درس 6: Primary Key

• Foreign Key

درس 7: Foreign Key

• ارتباط یکبهیک

درس 8: ارتباط یکبهیک

• ارتباط یکبهچند

درس 9: ارتباط یکبهچند

• ارتباط چندبهچند

درس 10: ارتباط چندبهچند

فصل پنجم: SQL مقدماتی

• ساخت جدول

درس 1: ساخت جدول

• افزودن اطلاعات

درس 2: افزودن اطلاعات

• خواندن اطلاعات

درس 3: خواندن اطلاعات

• شرط با WHERE

درس 4: شرط با WHERE

• مرتبسازی

درس 5: مرتبسازی

• محدودکردن نتایج

درس 6: محدودکردن نتایج

• ویرایش اطلاعات

درس 7: ویرایش اطلاعات

• حذف اطلاعات

درس 8: حذف اطلاعات

• توابع شمارشی

درس 9: توابع شمارشی

• گروهبندی

درس 10: گروهبندی

• اتصال جدولها با JOIN

درس 11: اتصال جدولها با JOIN

• تمرین گزارش نمرات

درس 12: تمرین گزارش نمرات

فصل ششم: طراحی پایگاه داده

• شناسایی موجودیتها

درس 1: شناسایی موجودیتها

• طراحی جدول کاربران

درس 2: طراحی جدول کاربران

• طراحی جدول دورهها

درس 3: طراحی جدول دورهها

• طراحی جدول ثبتنام

درس 4: طراحی جدول ثبتنام

• طراحی جدول درسها

درس 5: طراحی جدول درسها

• طراحی جدول پیشرفت

درس 6: طراحی جدول پیشرفت

• جلوگیری از داده تکراری

درس 7: جلوگیری از داده تکراری

• محدودیتهای داده

درس 8: محدودیتهای داده

• رسم نمودار ارتباطها

درس 9: رسم نمودار ارتباطها

• بازبینی طراحی

درس 10: بازبینی طراحی

مرحله 6

مرحله 6: دوره پنجم: شروع توسعه وب با Django

فصل اول: شروع پروژه Django

• Framework چیست؟

درس 1: Framework چیست؟

• Django چه مسئلهای را حل میکند؟

درس 2: Django چه مسئلهای را حل میکند؟

• نصب Django

درس 3: نصب Django

• ساخت Project

درس 4: ساخت Project

• ساختار پروژه

درس 5: ساختار پروژه

• اجرای Development Server

درس 6: اجرای Development Server

• فایل settings.py

درس 7: فایل settings.py

• فایل manage.py

درس 8: فایل manage.py

• فایل urls.py

درس 9: فایل urls.py

• ساخت اولین App

درس 10: ساخت اولین App

فصل دوم: URL و View

• URL Pattern

درس 1: URL Pattern

• ساخت اولین View

درس 2: ساخت اولین View

• پاسخ متنی

درس 3: پاسخ متنی

• اتصال URL به View

درس 4: اتصال URL به View

• جداکردن URLهای App

درس 5: جداکردن URLهای App

• پارامتر مسیر

درس 6: پارامتر مسیر

• نامگذاری URL

درس 7: نامگذاری URL

• Redirect

درس 8: Redirect

• خطای 404

درس 9: خطای 404

• طراحی مسیرهای سایت

درس 10: طراحی مسیرهای سایت

فصل سوم: Template

• Template چیست؟

درس 1: Template چیست؟

• ساخت پوشه Template

درس 2: ساخت پوشه Template

• تابع render

درس 3: تابع render

• ارسال Context

درس 4: ارسال Context

• نمایش متغیر

درس 5: نمایش متغیر

• شرط در Template

درس 6: شرط در Template

• حلقه در Template

درس 7: حلقه در Template

• فیلترهای Template

درس 8: فیلترهای Template

• لینکسازی با نام URL

درس 9: لینکسازی با نام URL

• نمایش صفحه فهرست دورهها

درس 10: نمایش صفحه فهرست دورهها

فصل چهارم: ارثبری قالب

• مشکل تکرار HTML

درس 1: مشکل تکرار HTML

• ساخت Base Template

درس 2: ساخت Base Template

• تعریف Block

درس 3: تعریف Block

• استفاده از extends

درس 4: استفاده از extends

• ساخت Header و Footer مشترک

درس 5: ساخت Header و Footer مشترک

• ساخت Navigation

درس 6: ساخت Navigation

• Partial Template

درس 7: Partial Template

• ساخت Layout پروژه

درس 8: ساخت Layout پروژه

فصل پنجم: فایلهای Static و Media

• فایل Static چیست؟

درس 1: فایل Static چیست؟

• اتصال CSS

درس 2: اتصال CSS

• اضافهکردن JavaScript

درس 3: اضافهکردن JavaScript

• نمایش تصویر ثابت

درس 4: نمایش تصویر ثابت

• تنظیم Static در پروژه

درس 5: تنظیم Static در پروژه

• فایل Media چیست؟

درس 6: فایل Media چیست؟

• آپلود تصویر

درس 7: آپلود تصویر

• نمایش تصویر آپلودشده

درس 8: نمایش تصویر آپلودشده

• تفاوت Static و Media

درس 9: تفاوت Static و Media

• محدودیت فایل آپلودی

درس 10: محدودیت فایل آپلودی

مرحله 7

مرحله 7: دوره ششم: مدلها، ORM و پنل مدیریت Django

فصل اول: Model

• Model چیست؟

درس 1: Model چیست؟

• ارتباط Model و جدول

درس 2: ارتباط Model و جدول

• ساخت اولین Model

درس 3: ساخت اولین Model

• فیلد متنی

درس 4: فیلد متنی

• فیلد عددی

درس 5: فیلد عددی

• فیلد Boolean

درس 6: فیلد Boolean

• فیلد تاریخ و زمان

درس 7: فیلد تاریخ و زمان

• مقدار پیشفرض

درس 8: مقدار پیشفرض

• فیلد اختیاری

درس 9: فیلد اختیاری

• متد __str__

درس 10: متد __str__

فصل دوم: Migration

• Migration چیست؟

درس 1: Migration چیست؟

• ساخت Migration

درس 2: ساخت Migration

• اجرای Migration

درس 3: اجرای Migration

• مشاهده SQL تولیدشده

درس 4: مشاهده SQL تولیدشده

• تغییر Model

درس 5: تغییر Model

• افزودن فیلد جدید

درس 6: افزودن فیلد جدید

• مشکلات مقدار پیشفرض

درس 7: مشکلات مقدار پیشفرض

• تاریخچه Migration

درس 8: تاریخچه Migration

• خطر حذف Migration

درس 9: خطر حذف Migration

• تغییر امن ساختار داده

درس 10: تغییر امن ساختار داده

فصل سوم: ORM

• ORM چیست؟

درس 1: ORM چیست؟

• ساخت رکورد

درس 2: ساخت رکورد

• دریافت همه رکوردها

درس 3: دریافت همه رکوردها

• دریافت یک رکورد

درس 4: دریافت یک رکورد

• فیلترکردن

درس 5: فیلترکردن

• مرتبسازی

درس 6: مرتبسازی

• ویرایش رکورد

درس 7: ویرایش رکورد

• حذف رکورد

درس 8: حذف رکورد

• Lookupها

درس 9: Lookupها

• QuerySet

درس 10: QuerySet

• شمارش و وجود داده

درس 11: شمارش و وجود داده

• کار با Django Shell

درس 12: کار با Django Shell

فصل چهارم: ارتباط Modelها

• ارتباط یکبهیک

درس 1: ارتباط یکبهیک

• ارتباط یکبهچند

درس 2: ارتباط یکبهچند

• ForeignKey

درس 3: ForeignKey

• رفتار حذف

درس 4: رفتار حذف

• ارتباط چندبهچند

درس 5: ارتباط چندبهچند

• ManyToManyField

درس 6: ManyToManyField

• Related Name

درس 7: Related Name

• Query روی ارتباطها

درس 8: Query روی ارتباطها

• مدل Course و Chapter

درس 9: مدل Course و Chapter

• مدل Lesson و Step

درس 10: مدل Lesson و Step

• مدل Enrollment

درس 11: مدل Enrollment

• مدل LessonProgress

درس 12: مدل LessonProgress

فصل پنجم: Django Admin

• ساخت Superuser

درس 1: ساخت Superuser

• ورود به Admin

درس 2: ورود به Admin

• ثبت Model

درس 3: ثبت Model

• نمایش ستونها

درس 4: نمایش ستونها

• جستوجو

درس 5: جستوجو

• فیلتر

درس 6: فیلتر

• مرتبسازی

درس 7: مرتبسازی

• Inline

درس 8: Inline

• فیلدهای فقطخواندنی

درس 9: فیلدهای فقطخواندنی

• Action مدیریتی

درس 10: Action مدیریتی

• گروهبندی فیلدها

درس 11: گروهبندی فیلدها

• محدودیت Admin

درس 12: محدودیت Admin

فصل ششم: بهینهسازی Query مقدماتی

• Query پایگاه داده چیست؟

درس 1: Query پایگاه داده چیست؟

• مشاهده تعداد Queryها

درس 2: مشاهده تعداد Queryها

• مشکل N+1

درس 3: مشکل N+1

• select_related

درس 4: select_related

• prefetch_related

درس 5: prefetch_related

• انتخاب فیلدهای موردنیاز

درس 6: انتخاب فیلدهای موردنیاز

• مرتبسازی در پایگاه داده

درس 7: مرتبسازی در پایگاه داده

• صفحهبندی دادهها

درس 8: صفحهبندی دادهها

مرحله 8

مرحله 8: دوره هفتم: فرمها، کاربران و سایت کامل Django

فصل اول: Form

• Form در وب چگونه کار میکند؟

درس 1: Form در وب چگونه کار میکند؟

• تفاوت GET و POST

درس 2: تفاوت GET و POST

• ساخت Django Form

درس 3: ساخت Django Form

• فیلدهای فرم

درس 4: فیلدهای فرم

• Widget

درس 5: Widget

• نمایش فرم

درس 6: نمایش فرم

• دریافت داده فرم

درس 7: دریافت داده فرم

• is_valid

درس 8: is_valid

• cleaned_data

درس 9: cleaned_data

• نمایش خطا

درس 10: نمایش خطا

فصل دوم: ModelForm

• مشکل تکرار Model و Form

درس 1: مشکل تکرار Model و Form

• ساخت ModelForm

درس 2: ساخت ModelForm

• انتخاب فیلدها

درس 3: انتخاب فیلدها

• ساخت رکورد

درس 4: ساخت رکورد

• ویرایش رکورد

درس 5: ویرایش رکورد

• حذف رکورد

درس 6: حذف رکورد

• اعتبارسنجی سفارشی

درس 7: اعتبارسنجی سفارشی

• اعتبارسنجی چند فیلد

درس 8: اعتبارسنجی چند فیلد

• پیام خطای مناسب

درس 9: پیام خطای مناسب

• فرم آپلود فایل

درس 10: فرم آپلود فایل

فصل سوم: CRUD کامل

• CRUD چیست؟

درس 1: CRUD چیست؟

• صفحه فهرست

درس 2: صفحه فهرست

• صفحه جزئیات

درس 3: صفحه جزئیات

• صفحه ایجاد

درس 4: صفحه ایجاد

• صفحه ویرایش

درس 5: صفحه ویرایش

• صفحه حذف

درس 6: صفحه حذف

• پیام موفقیت

درس 7: پیام موفقیت

• Redirect بعد از عملیات

درس 8: Redirect بعد از عملیات

• جلوگیری از حذف تصادفی

درس 9: جلوگیری از حذف تصادفی

• تفکیک مسئولیت Viewها

درس 10: تفکیک مسئولیت Viewها

فصل چهارم: کاربران و احراز هویت

• Authentication چیست؟

درس 1: Authentication چیست؟

• Authorization چیست؟

درس 2: Authorization چیست؟

• User داخلی Django

درس 3: User داخلی Django

• ثبتنام

درس 4: ثبتنام

• ورود

درس 5: ورود

• خروج

درس 6: خروج

• رمز عبور و Hash

درس 7: رمز عبور و Hash

• محدودکردن صفحه به کاربر واردشده

درس 8: محدودکردن صفحه به کاربر واردشده

• دسترسی به request.user

درس 9: دسترسی به request.user

• تغییر رمز عبور

درس 10: تغییر رمز عبور

• بازیابی رمز عبور

درس 11: بازیابی رمز عبور

• پروفایل کاربر

درس 12: پروفایل کاربر

فصل پنجم: Custom User

• چرا Custom User؟

درس 1: چرا Custom User؟

• شروع پروژه با User سفارشی

درس 2: شروع پروژه با User سفارشی

• AbstractUser

درس 3: AbstractUser

• اضافهکردن فیلدهای پروفایل

درس 4: اضافهکردن فیلدهای پروفایل

• تنظیم AUTH_USER_MODEL

درس 5: تنظیم AUTH_USER_MODEL

• استفاده از User در Modelها

درس 6: استفاده از User در Modelها

• ثبت User در Admin

درس 7: ثبت User در Admin

• ساخت فرم ثبتنام سفارشی

درس 8: ساخت فرم ثبتنام سفارشی

• نقش دانشآموز و مربی

درس 9: نقش دانشآموز و مربی

• محدودکردن عملیات براساس نقش

درس 10: محدودکردن عملیات براساس نقش

فصل ششم: Permission در سایت

• چه کسی چه کاری میتواند انجام دهد؟

درس 1: چه کسی چه کاری میتواند انجام دهد؟

• مالکیت داده

درس 2: مالکیت داده

• جلوگیری از ویرایش اطلاعات دیگران

درس 3: جلوگیری از ویرایش اطلاعات دیگران

• Group

درس 4: Group

• Permission داخلی Django

درس 5: Permission داخلی Django

• Permission سفارشی

درس 6: Permission سفارشی

• نقش Admin، Teacher و Student

درس 7: نقش Admin، Teacher و Student

• بررسی دسترسی در View

درس 8: بررسی دسترسی در View

• نمایش شرطی دکمهها

درس 9: نمایش شرطی دکمهها

• امنیت Backend در برابر مخفیکردن ظاهری

درس 10: امنیت Backend در برابر مخفیکردن ظاهری

فصل هفتم: Class-Based Views

• Function-Based View

درس 1: Function-Based View

• Class-Based View

درس 2: Class-Based View

• TemplateView

درس 3: TemplateView

• ListView

درس 4: ListView

• DetailView

درس 5: DetailView

• CreateView

درس 6: CreateView

• UpdateView

درس 7: UpdateView

• DeleteView

درس 8: DeleteView

• LoginRequiredMixin

درس 9: LoginRequiredMixin

• سفارشیسازی QuerySet

درس 10: سفارشیسازی QuerySet

• چه زمانی FBV مناسبتر است؟

درس 11: چه زمانی FBV مناسبتر است؟

• چه زمانی CBV مناسبتر است؟

درس 12: چه زمانی CBV مناسبتر است؟

مرحله 9

مرحله 9: دوره هشتم: ساخت API با Django REST Framework

فصل اول: شروع DRF

• API در معماری React و Django

درس 1: API در معماری React و Django

• نصب DRF

درس 2: نصب DRF

• اضافهکردن به Installed Apps

درس 3: اضافهکردن به Installed Apps

• ساخت اولین API View

درس 4: ساخت اولین API View

• Response

درس 5: Response

• نمایش JSON

درس 6: نمایش JSON

• Browsable API

درس 7: Browsable API

• تست Endpoint

درس 8: تست Endpoint

• طراحی URLهای API

درس 9: طراحی URLهای API

• نسخهبندی مسیرها

درس 10: نسخهبندی مسیرها

فصل دوم: Serializer

• Serialization چیست؟

درس 1: Serialization چیست؟

• تبدیل Model به JSON

درس 2: تبدیل Model به JSON

• تبدیل JSON به داده Python

درس 3: تبدیل JSON به داده Python

• ساخت Serializer

درس 4: ساخت Serializer

• Serializer Field

درس 5: Serializer Field

• Validation

درس 6: Validation

• خطاهای اعتبارسنجی

درس 7: خطاهای اعتبارسنجی

• create

درس 8: create

• update

درس 9: update

• ModelSerializer

درس 10: ModelSerializer

• فیلد فقطخواندنی

درس 11: فیلد فقطخواندنی

• فیلد فقطنوشتنی

درس 12: فیلد فقطنوشتنی

فصل سوم: Request و Response

• شیء Request در DRF

درس 1: شیء Request در DRF

• request.data

درس 2: request.data

• Query Parameter

درس 3: Query Parameter

• Response

درس 4: Response

• Status Code

درس 5: Status Code

• GET Collection

درس 6: GET Collection

• GET Detail

درس 7: GET Detail

• POST

درس 8: POST

• PUT

درس 9: PUT

• PATCH

درس 10: PATCH

• DELETE

درس 11: DELETE

• مدیریت خطای Not Found

درس 12: مدیریت خطای Not Found

فصل چهارم: API Viewها

• Function-Based API View

درس 1: Function-Based API View

• Decoratorهای DRF

درس 2: Decoratorهای DRF

• APIView

درس 3: APIView

• GenericAPIView

درس 4: GenericAPIView

• ListCreateAPIView

درس 5: ListCreateAPIView

• RetrieveAPIView

درس 6: RetrieveAPIView

• RetrieveUpdateDestroyAPIView

درس 7: RetrieveUpdateDestroyAPIView

• انتخاب View مناسب

درس 8: انتخاب View مناسب

• کاهش تکرار کد

درس 9: کاهش تکرار کد

• حفظ خوانایی کد

درس 10: حفظ خوانایی کد

فصل پنجم: ViewSet و Router

• ViewSet چیست؟

درس 1: ViewSet چیست؟

• ModelViewSet

درس 2: ModelViewSet

• Actionهای اصلی

درس 3: Actionهای اصلی

• Router

درس 4: Router

• ساخت مسیرهای خودکار

درس 5: ساخت مسیرهای خودکار

• محدودکردن عملیات

درس 6: محدودکردن عملیات

• Action سفارشی

درس 7: Action سفارشی

• ViewSet در برابر Generic View

درس 8: ViewSet در برابر Generic View

• مزایا و معایب کد خودکار

درس 9: مزایا و معایب کد خودکار

• بازنویسی API پروژه

درس 10: بازنویسی API پروژه

فصل ششم: ارتباط Modelها در API

• نمایش Foreign Key

درس 1: نمایش Foreign Key

• Primary Key Related Field

درس 2: Primary Key Related Field

• String Related Field

درس 3: String Related Field

• Serializer تودرتو

درس 4: Serializer تودرتو

• Nested Read

درس 5: Nested Read

• Nested Write

درس 6: Nested Write

• ارتباط Course و Chapter

درس 7: ارتباط Course و Chapter

• ارتباط Chapter و Lesson

درس 8: ارتباط Chapter و Lesson

• ارتباط Lesson و Step

درس 9: ارتباط Lesson و Step

• جلوگیری از پاسخهای بسیار حجیم

درس 10: جلوگیری از پاسخهای بسیار حجیم

فصل هفتم: Pagination، Filter و Search

• چرا همه دادهها را یکجا برنگردانیم؟

درس 1: چرا همه دادهها را یکجا برنگردانیم؟

• Pagination

درس 2: Pagination

• Page Number Pagination

درس 3: Page Number Pagination

• تعیین اندازه صفحه

درس 4: تعیین اندازه صفحه

• فیلتر QuerySet

درس 5: فیلتر QuerySet

• فیلتر براساس کاربر

درس 6: فیلتر براساس کاربر

• Search

درس 7: Search

• Ordering

درس 8: Ordering

• ترکیب Filterها

درس 9: ترکیب Filterها

• طراحی Query Parameterهای قابلفهم

درس 10: طراحی Query Parameterهای قابلفهم

مرحله 10

مرحله 10: دوره نهم: احراز هویت، مجوز و اتصال React به Django

فصل اول: احراز هویت API

• تفاوت Authentication و Permission

درس 1: تفاوت Authentication و Permission

• Session Authentication

درس 2: Session Authentication

• Token Authentication

درس 3: Token Authentication

• مفهوم Access Token

درس 4: مفهوم Access Token

• مفهوم Refresh Token

درس 5: مفهوم Refresh Token

• ارسال Credential

درس 6: ارسال Credential

• دریافت کاربر جاری

درس 7: دریافت کاربر جاری

• خروج و بیاعتبارسازی

درس 8: خروج و بیاعتبارسازی

• انتخاب روش مناسب

درس 9: انتخاب روش مناسب

• خطر نگهداری نامناسب Token

درس 10: خطر نگهداری نامناسب Token

فصل دوم: Permission

• AllowAny

درس 1: AllowAny

• IsAuthenticated

درس 2: IsAuthenticated

• IsAdminUser

درس 3: IsAdminUser

• Permission سفارشی

درس 4: Permission سفارشی

• Object-Level Permission

درس 5: Object-Level Permission

• مالکیت داده

درس 6: مالکیت داده

• دسترسی دانشآموز

درس 7: دسترسی دانشآموز

• دسترسی مربی

درس 8: دسترسی مربی

• دسترسی مدیر

درس 9: دسترسی مدیر

• تست Permission

درس 10: تست Permission

فصل سوم: ثبتنام و ورود

• Endpoint ثبتنام

درس 1: Endpoint ثبتنام

• اعتبارسنجی ایمیل یا شماره موبایل

درس 2: اعتبارسنجی ایمیل یا شماره موبایل

• اعتبارسنجی رمز عبور

درس 3: اعتبارسنجی رمز عبور

• Hash شدن رمز

درس 4: Hash شدن رمز

• Endpoint ورود

درس 5: Endpoint ورود

• Endpoint کاربر جاری

درس 6: Endpoint کاربر جاری

• تغییر رمز

درس 7: تغییر رمز

• فراموشی رمز

درس 8: فراموشی رمز

• جلوگیری از افشای وجود حساب

درس 9: جلوگیری از افشای وجود حساب

• محدودکردن درخواستهای ورود

درس 10: محدودکردن درخواستهای ورود

فصل چهارم: CORS و اتصال Frontend

• Origin چیست؟

درس 1: Origin چیست؟

• چرا مرورگر درخواست را مسدود میکند؟

درس 2: چرا مرورگر درخواست را مسدود میکند؟

• CORS چیست؟

درس 3: CORS چیست؟

• تنظیم Originهای مجاز

درس 4: تنظیم Originهای مجاز

• اتصال React به Endpoint

درس 5: اتصال React به Endpoint

• ارسال GET

درس 6: ارسال GET

• ارسال POST

درس 7: ارسال POST

• ارسال Token

درس 8: ارسال Token

• نمایش خطای Backend

درس 9: نمایش خطای Backend

• مدیریت Loading

درس 10: مدیریت Loading

• مدیریت Logout

درس 11: مدیریت Logout

• جداسازی API Client در React

درس 12: جداسازی API Client در React

فصل پنجم: قرارداد میان Frontend و Backend

• API Contract چیست؟

درس 1: API Contract چیست؟

• نامگذاری فیلدها

درس 2: نامگذاری فیلدها

• ساختار موفقیت

درس 3: ساختار موفقیت

• ساختار خطا

درس 4: ساختار خطا

• خطای هر فیلد فرم

درس 5: خطای هر فیلد فرم

• Pagination Contract

درس 6: Pagination Contract

• تاریخ و منطقه زمانی

درس 7: تاریخ و منطقه زمانی

• مقدار Null

درس 8: مقدار Null

• تغییرات ناسازگار API

درس 9: تغییرات ناسازگار API

• نسخهبندی API

درس 10: نسخهبندی API

فصل ششم: آپلود فایل

• Multipart Form Data

درس 1: Multipart Form Data

• آپلود تصویر پروفایل

درس 2: آپلود تصویر پروفایل

• محدودیت اندازه فایل

درس 3: محدودیت اندازه فایل

• بررسی نوع فایل

درس 4: بررسی نوع فایل

• نامگذاری فایل

درس 5: نامگذاری فایل

• حذف فایل قدیمی

درس 6: حذف فایل قدیمی

• نمایش URL فایل

درس 7: نمایش URL فایل

• امنیت فایل آپلودی

درس 8: امنیت فایل آپلودی

• ذخیرهسازی محلی و ابری

درس 9: ذخیرهسازی محلی و ابری

• تست آپلود فایل

درس 10: تست آپلود فایل

مرحله 11

مرحله 11: دوره دهم: معماری، تست و امنیت Django

فصل اول: معماری پروژه

• مشکل فایل‌های بسیار بزرگ

درس 1: مشکل فایل‌های بسیار بزرگ

• تقسیم پروژه به Appها

درس 2: تقسیم پروژه به Appها

• تفکیک Domainها

درس 3: تفکیک Domainها

• Model

درس 4: Model

• Serializer

درس 5: Serializer

• View

درس 6: View

• Service

درس 7: Service

• Selector یا Query Service

درس 8: Selector یا Query Service

• Utility

درس 9: Utility

• ساختار استاندارد پروژه‌های صنعتی

درس 10: ساختار استاندارد پروژه‌های صنعتی

فصل دوم: تست‌نویسی در Django

• چرا تست می‌نویسیم؟

درس 1: چرا تست می‌نویسیم؟

• انواع تست (Unit, Integration, E2E)

درس 2: انواع تست (Unit, Integration, E2E)

• ابزار TestCase در جنگو

درس 3: ابزار TestCase در جنگو

• تست Modelها

درس 4: تست Modelها

• تست Viewها

درس 5: تست Viewها

• تست API با APITestCase

درس 6: تست API با APITestCase

• استفاده از Fixtures و Factory

درس 7: استفاده از Fixtures و Factory

• تست احراز هویت و دسترسی‌ها

درس 8: تست احراز هویت و دسترسی‌ها

• اندازه‌گیری پوشش تست (Code Coverage)

درس 9: اندازه‌گیری پوشش تست (Code Coverage)

• اجرای خودکار تست‌ها

درس 10: اجرای خودکار تست‌ها

فصل سوم: امنیت بک‌اند

• امنیت در وب چیست؟

درس 1: امنیت در وب چیست؟

• حملات SQL Injection و راه‌های مقابله

درس 2: حملات SQL Injection و راه‌های مقابله

• حملات XSS (Cross-Site Scripting)

درس 3: حملات XSS (Cross-Site Scripting)

• حملات CSRF و توکن CSRF

درس 4: حملات CSRF و توکن CSRF

• ایمن‌سازی متغیرهای محیطی (.env)

درس 5: ایمن‌سازی متغیرهای محیطی (.env)

• مدیریت SECRET_KEY و داده‌های حساس

درس 6: مدیریت SECRET_KEY و داده‌های حساس

• تنظیمات SSL/HTTPS

درس 7: تنظیمات SSL/HTTPS

• محدودیت نرخ درخواست (Rate Limiting)

درس 8: محدودیت نرخ درخواست (Rate Limiting)

• هدرهای امنیتی HTTP

درس 9: هدرهای امنیتی HTTP

• چک‌لیست امنیت قبل از استقرار

درس 10: چک‌لیست امنیت قبل از استقرار

فصل چهارم: آماده‌سازی استقرار

• تفاوت محیط توسعه و Production

درس 1: تفاوت محیط توسعه و Production

• تنظیم DEBUG = False و پیامدهای آن

درس 2: تنظیم DEBUG = False و پیامدهای آن

• مدیریت فایل‌های استاتیک با WhiteNoise

درس 3: مدیریت فایل‌های استاتیک با WhiteNoise

• تنظیم WSGI و ASGI

درس 4: تنظیم WSGI و ASGI

• استفاده از Gunicorn

درس 5: استفاده از Gunicorn

• وب سرور Nginx به عنوان Reverse Proxy

درس 6: وب سرور Nginx به عنوان Reverse Proxy

• پکیج‌بندی پروژه با Docker

درس 7: پکیج‌بندی پروژه با Docker

• فایل Dockerfile و docker-compose

درس 8: فایل Dockerfile و docker-compose

• اتصال دیتابیس PostgreSQL در Production

درس 9: اتصال دیتابیس PostgreSQL در Production

• چک‌لیست نهایی استقرار

درس 10: چک‌لیست نهایی استقرار

مرحله 12

مرحله 12: دوره یازدهم: پروژه واقعی، مستندات و ورود به بازار کار

فصل اول: پروژه واقعی نهایی

• انتخاب موضوع پروژه واقعی

درس 1: انتخاب موضوع پروژه واقعی

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

درس 2: تحلیل نیازمندی‌ها و سناریوهای کاربر

• طراحی مدل داده و ERD

درس 3: طراحی مدل داده و ERD

• تعریف Endpointهای API

درس 4: تعریف Endpointهای API

• پیاده‌سازی منطق کسب‌وکار

درس 5: پیاده‌سازی منطق کسب‌وکار

• پیاده‌سازی احراز هویت و دسترسی‌ها

درس 6: پیاده‌سازی احراز هویت و دسترسی‌ها

• نوشتن تست‌های جامع

درس 7: نوشتن تست‌های جامع

• مستندسازی API با OpenAPI و Swagger (drf-spectacular)

درس 8: مستندسازی API با OpenAPI و Swagger (drf-spectacular)

• ساخت فایل README و راهنمای راه‌اندازی

درس 9: ساخت فایل README و راهنمای راه‌اندازی

• رفع اشکال و ریفکتور کدها

درس 10: رفع اشکال و ریفکتور کدها

فصل دوم: رزومه و بازار کار

• ساخت نمونه‌کار حرفه‌ای (Portfolio)

درس 1: ساخت نمونه‌کار حرفه‌ای (Portfolio)

• ساخت و تنظیم حساب GitHub

درس 2: ساخت و تنظیم حساب GitHub

• مدیریت کد با کلون، برانچ و Pull Request

درس 3: مدیریت کد با کلون، برانچ و Pull Request

• نوشتن رزومه استاندارد توسعه‌دهنده بک‌اند

درس 4: نوشتن رزومه استاندارد توسعه‌دهنده بک‌اند

• مشخص کردن مهارت‌های اصلی و فریم‌ورک‌ها

درس 5: مشخص کردن مهارت‌های اصلی و فریم‌ورک‌ها

• آماده‌سازی برای مصاحبه فنی

درس 6: آماده‌سازی برای مصاحبه فنی

• حل مسائل الگوریتمی پایتون

درس 7: حل مسائل الگوریتمی پایتون

• سوالات متداول مصاحبه Django و DRF

درس 8: سوالات متداول مصاحبه Django و DRF

• نحوه کار فری‌لنسری و همکاری پروژه‌ای

درس 9: نحوه کار فری‌لنسری و همکاری پروژه‌ای

• اخلاق حرفه‌ای، رشد مداوم و مسیر یادگیری آینده

درس 10: اخلاق حرفه‌ای، رشد مداوم و مسیر یادگیری آینده