مسیر یادگیری 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: اخلاق حرفه‌ای، رشد مداوم و مسیر یادگیری آینده

footer-big-guy

به خبرنامه ما بپیوندید

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

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