الگوریتم اول

لطفا صبر کنید...

ساختار کلی پروژه جنگو

پس از ایجاد یک پروژه جنگو با دستور django-admin startproject myproject، یک ساختار پوشه‌ای به‌صورت زیر ایجاد می‌شود:

myproject/
│-- manage.py
│-- myproject/
│   │-- __init__.py
│   │-- settings.py
│   │-- urls.py
│   │-- asgi.py
│   │-- wsgi.py

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

myproject/
│-- manage.py
│-- myproject/
│   │-- __init__.py
│   │-- settings.py
│   │-- urls.py
│   │-- asgi.py
│   │-- wsgi.py
│-- myapp/
│   │-- __init__.py
│   │-- admin.py
│   │-- apps.py
│   │-- models.py
│   │-- tests.py
│   │-- views.py
│   │-- migrations/
│       │-- __init__.py

توضیح فایل‌ها و پوشه‌ها

۱. فایل‌های اصلی پروژه (داخل پوشه پروژه اصلی)

  • manage.py: ابزاری برای اجرای دستورات مدیریتی جنگو مانند اجرای سرور، انجام مهاجرت‌ها و ایجاد سوپر یوزر.
  • settings.py: تنظیمات اصلی پروژه از جمله پیکربندی پایگاه داده، اپلیکیشن‌های نصب‌شده و مسیرهای استاتیک.
  • urls.py: فایل مدیریت مسیرها (URLs) که مشخص می‌کند هر درخواست به کدام ویو هدایت شود.
  • wsgi.py و asgi.py: برای اجرای پروژه در سرورهای WSGI یا ASGI استفاده می‌شوند.
  • __init__.py: این فایل نشان می‌دهد که دایرکتوری مربوطه یک ماژول پایتون است.

۲. ساختار یک اپلیکیشن (پوشه myapp/)

  • models.py: شامل مدل‌های پایگاه داده که به کمک ORM جنگو مدیریت می‌شوند.
  • views.py: شامل توابع یا کلاس‌هایی که درخواست‌ها را پردازش کرده و پاسخ مناسب را برمی‌گردانند.
  • urls.py (به‌صورت دستی ایجاد می‌شود): مسیرهای مربوط به این اپلیکیشن را مدیریت می‌کند.
  • admin.py: تنظیمات مربوط به پنل ادمین برای مدیریت داده‌های مدل‌ها.
  • apps.py: تنظیمات اپلیکیشن در سطح پروژه.
  • migrations/: پوشه‌ای برای مدیریت تغییرات پایگاه داده.
  • tests.py: شامل تست‌های خودکار برای بررسی صحت عملکرد اپلیکیشن.

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