تفاوت بین app و project در جنگو

تفاوت بین app و project در جنگو

در این آموزش جنگو سعی میکنیم تفاوت بین app و project در جنگو رو بررسی کنیم. علاوه بر این به بررسی موضوعات زیر نیز میپردازیم :

 

  • project در جنگو چیست ؟
  • app در جنگو چیست؟
  • تفاوت بین app و project در جنگو
  • تفاوت بین startapp و startproject در جنگو
project در جنگو چیست

یک project در جنگو یک بسته پایتونه که کل برنامه وب رو نشان میده. یک project در جنگو اساساً شامل پیکربندی و تنظیمات مربوط به کل وب سایته. project همچنین میتونه چندین app رو داخل خودش داشته باشه که میشه از اون ها برای اجرای برخی عملکردها استفاده کرد.

وقتی که ما یک project ایجاد می کنیم، جنگو به طور خودکار یک فهرست project با یک بسته پایتون رو داخل اون ایجاد می کنه. همچنین یک فایل manager.py داخل دایرکتوری پروژه ایجاد می کنه. Manage.py ابزاریه که عمدتاً برای تعامل با پروژه شما استفاده میشه.

app در جنگو چیست؟

app در جنگو یک ماژول فرعی از یک project ست و برای اجرای برخی از عملکردها استفاده میشه. یک app به عنوان یک ماژول مستقل پایتونه که برای ارائه برخی عملکردها به project شما استفاده میشه.

ما میتونیم چندین app رو در یک project جنگو ایجاد کنیم. و این app ها میتونن مستقل از یکدیگر باشند. از لحاظ تئوری، ما میتونیم از یک app از یک project جنگو به project دیگر بدون ایجاد هیچ تغییری در آن استفاده کنیم.

وقتی که ما یک app رو در project خود ایجاد می کنیم، جنگو به طور خودکار یک دایرکتوری مستقل ایجاد می کنه. بنابراین، توسعه دهندگان میتونن به جای ایجاد دایرکتوری های برنامه، روی موارد دیگه تمرکز کنند. فریمورک جنگو بر اساس اصل DRY (خودت را تکرار نکن) کار میکنه که مفهوم app ها بخش بزرگی از اون روتشکیل میدن.

تفاوت بین app و project در جنگو

تا به حال، ما یک مقدمه اساسی در مورد یک project و یک  appد جنگو رو دیدیم . در این بخش سعی می کنیم تفاوت های کلیدی app و project در جنگو رو بررسی کنیم.

 

  • یک project کل وب سایت را نشان می دهد در حالی که یک app اساساً زیرمجموعه project است.
  • project می تواند شامل چندین app باشد در حالی که یک app می تواند در project های مختلف نیز استفاده شود.
  • یک project مانند یک طرح کلی از کل برنامه وب است در حالی که app ها بلوک های سازنده یک برنامه وب هستند.
  • ما معمولاً یک project واحد برای وب سایت خود با یک یا چند app در آن ایجاد می کنیم.
  • یک project پیکربندی و تنظیمات واقعی را برای کل برنامه وب حفظ می کند. از سوی دیگر، app ها می‌توانند مستقل باشند یا به یکدیگر مرتبط شوند.
تفاوت بین startapp و startproject در جنگو

در این قسمت تفاوت بین دستور startapp و startproject رو خواهیم فهمید. در اینجا برخی از تفاوت های بین این دو دستور در جنگو رو خواهیم دید.

تفاوت بین app و project در جنگو
دستور startproject در جنگو

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

django-admin startproject project_name

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

دستور startapp در جنگو

دستور startapp در جنگو برای ایجاد یک app جدید در project ما استفاده میشه. از این دستورمیتونیم چندین بار داخل project خودمون برای ایجاد چندین app استفاده کنیم. با اجرای این دستور، جنگو به طور خودکار دایرکتوری برنامه رو داخل دایرکتوری project ایجاد می کنه. برای اجرای این دستور ابتدا باید به دایرکتوری اصلی پروژه بریم سپس می تونیم از دستور زیر استفاده کنیم :

python manage.py startapp app_name

برای اجرای دستور startapp باید به جای django-admin از ابزار manager.py استفاده کنیم. میتونیم نام app خودمون رو به جای app_name بنویسیم. این نام برای دایرکتوری app نیز استفاده خواهد شد.

پایان مقاله

در این آموزش تفاوت بین  app و project در جنگو رو بررسی کردیم . همچنین به موضوعات زیر پرداختیم :

 

  • project در جنگو چیست؟
  • app در جنگو چیست؟
  • تفاوت بین app و project در جنگو
  • تفاوت بین startapp و startproject در جنگو

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دلیل بازگشت وجه