تفاوت App و project در جنگو

تفاوت App و project در جنگو
آکادمی آی تی
آکادمی آی تی
dots

تفاوت App و project در جنگو

زمان مورد نیاز برای مطالعه 5 دقیقه

در واقع project در جنگو یک واحد سطح بالا از سازماندهی است، در حالی که app در جنگو یک واحد سطح پایین تر از اپلیکیشن تحت وب است. هر project می تواند حاوی چندین app باشد.

دپارتمان ‌ها: آموزش برنامه نویسی
1400/07/12
2,235 بازدید

تفاوت اپلیکیشن و پروژه در جنگو

 

شروع کار با جنگو

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

•    آماده سازی محیط مجازی

•    نصب جنگو

•    پین کردن dependency ها در پروژه مورد نظر

•    نصب یک project در جنگو

•    شروع یک app در جنگو

برای آماده سازی محیط مجازی کافی است یک فولدر جدید بسازید و در آن با استفاده از دستور زیر، یک virtual environment یا همان محیط مجازی ایجاد کنید:

python3 -m venv env $ 

این دستور یک محیط مجازی تحت عنوان env را در دایرکتوری فعال شما می سازد. در ادامه به کمک دستور زیر می توانید محیط مجازی را فعال کنید:

source env/bin/activate $

در ادامه برای نصب جنگو از دستور زیر استفاده کنید:

(Env) $ python -m pip install Django

این دستور، پکیج django را از Python Package Index (PyPI) با استفاده از pip فراخوانی می کند. در ادامه پس از نصب جنگو می توان dependency ها را در آن پین کرد، به کمک دستور زیر:

(env) $ python -m pip freeze > requirements.txt

این دستور، اسامی و نسخه های همه پکیج های خارجی پایتون را که در حال حاضر در محیط مجازی هستند، در فایلی تحت عنوان requirements.txt می نویسد. در این فایل در نهایت همه پکیج های مورد استفاده django و همه dependency های آن وجود خواهد داشت.
در مرحله آخر، project را نصب کرده و ساخت app را در جنگو آغاز کنید. 


تفاوت app با project در Django

 

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

 

در فریم ورک جنگو، میان app و project تفاوت وجود دارد.

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

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

 

آموزش جنگو آموزش مرتبط و پیشنهادی آکادمی آی تی: دوره آموزش جنگو از مقدماتی تا پیشرفته


طریقه ساخت یک پروژه در جنگو

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

(env) $ django-admin startproject <project-name>

در این دستور، به جای project-name می توانید نام پروژه خود را قرار دهید، مثلاً اگر نام setup را برای پروژه جنگو انتخاب کنیم، دستور بالا به صورت زیر نوشته می شود:

(env) $ django-admin startproject setup

با اجرای این دستور، یک فولدر به صورت پیش فرض ایجاد می گردد که شامل برخی از فایل های پایتون است که با فرمت .py قابل تشخیص هستند، به صورت زیر:

setup/

├── setup/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py

└── manage.py

در بلوک کد فوق، می توان دید که ساختار فولدر سطح بالای setup از یک زیر فولدر در سطح پایین تر با نام setup/setup تشکیل یافته که حاوی فایل های پایتون است. 

با ایجاد project در جنگو، در این مرحله می توانید به ساخت app بپردازید.


طریقه ساخت app در جنگو

همان گونه که بیان شد، هر project در جنگو می تواند حاوی یک یا چندین app باشد. زمانی که دستور startproject را در بخش قبل اجرا می کنید، یک management app ایجاد می گردد که برای هر پروژه به صورت پیش فرض لازم است و می بایست ساخته شود. حالا، می توان app جنگو را ایجاد کرد که نمونه اولیه ای از اپلیکیشن وب است.

برای ایجاد app می توان دستور startapp را از مسیر فایل manage.py به صورت زیر اجرا کرد:

(env) $ python manage.py startapp <appname>

دستور startapp یک فولدر پیش فرض را برای Django app ایجاد می کند. در این مقاله، نام app را example می نامیم بنابراین دستور فوق به صورت زیر نوشته می شود:

(env) $ python manage.py startapp example

به محض اینکه اجرای دستور startapp پایان یافت، مشاهده می شود که جنگو یک فولدر دیگر به ساختار فولدر قبلی اضافه می کند، به صورت زیر:

setup/

├── example/
│   │
│   ├── migrations/
│   │   └── __init__.py
│   │
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── tests.py
│   └── views.py

├── setup/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py

└── manage.py

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


جمع بندی

در این مقاله، مراحل لازم برای ساخت اپلیکیشن در جنگو و نیز تفاوت اصلی میان app و project در فریم ورک جنگو بیان گردید. آموزش Django به عنوان یک فریم ورک پرکاربرد برای توسعه اپلکیشن های وب، مستلزم آشنایی با دستورات متعددی از جمله دستورات ترمینال است که بارها و بارها در محیط جنگو تکرار می شوند. در نهایت می‌توان گفت شرکت در دوره اموزش جنگو یکی از بهترین راه‌ها برای افزایش دانش و کسب اطلاعات بیشتر در مورد این فریم ورک است.