دوره‌ها / Django / ساخت پروژه (Create Project)

ساخت پروژه (Create Project)

25 دقیقه Article

ساخت پروژه: پی‌ریزی ساختمان 🏗️

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

دستور جادویی

در ترمینال بنویسید (به جای mysite هر اسمی می‌تونید بذارید):

django-admin startproject mysite

حالا اگر وارد پوشه بشید، همچین ساختاری می‌بینید:

mysite/                  # پوشه اصلی پروژه
    manage.py            # ابزار خط فرمان برای تعامل با پروژه
    mysite/              # پکیج اصلی پروژه
        __init__.py
        settings.py      # تمام تنظیمات (دیتابیس، زبان، اپ‌ها)
        urls.py          # لیست آدرس‌های سایت
        asgi.py          # برای سرورهایсинک (پیشرفته)
        wsgi.py          # برای دیپلوی روی سرور

اجرای سرور برای اولین بار

وارد پوشه پروژه بشید و سرور رو روشن کنید:

cd mysite
python manage.py runserver

حالا مرورگر رو باز کنید و به آدرس http://127.0.0.1:8000 برید. اگر یک موشک در حال پرواز دیدید، یعنی کارتون عالی بوده! 🚀

فایل manage.py: این فایل خیلی مهمه! باهاش سرور رو اجرا می‌کنیم، دیتابیس رو آپدیت می‌کنیم و خیلی کارهای دیگه. هرگز پاکش نکنید.

تمرین‌های عملی

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

تمرین: ساختار پروژه جنگو Easy
سوال تمرین

🎯 تمرین عملی: بررسی ساختار پروژه

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

  1. یک تابع بنویسید که نام پروژه رو بگیره
  2. ساختار فایل‌های پروژه رو نمایش بده (مثل یک درخت)
  3. توضیح کوتاهی برای هر فایل مهم بنویسید

نکته: نیازی به ساخت واقعی پروژه نیست، فقط ساختار رو نمایش بدید.

پاسخ تمرین
PYTHON
def show_project_structure(project_name="mysite"):
    structure = """📁 {0}/
|
|-- 📄 manage.py          # ابزار خط فرمان برای مدیریت پروژه
|                         # (اجرای سرور، مایگریت، و...)
|
\-- 📁 {0}/    # پکیج اصلی پروژه
    |
    |-- 📄 __init__.py    # نشان می‌دهد این پوشه یک پکیج پایتون است
    |
    |-- ⚙️ settings.py    # تنظیمات اصلی پروژه
    |                     # (دیتابیس، اپ‌ها، زبان، و...)
    |
    |-- 🗺️ urls.py        # لیست آدرس‌های (URL) سایت
    |                     # (مسیرها و ویوهای اصلی)
    |
    |-- 🌐 wsgi.py        # تنظیمات WSGI برای دیپلوی روی سرور
    |                     # (سرورهای استاندارد)
    |
    \-- ⚡ asgi.py        # تنظیمات ASGI برای سرورهای پیشرفته
                          # (WebSocket، async و...)
    """.format(project_name)
    return structure

if __name__ == "__main__":
    print(show_project_structure())

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.