آموزش جنگو از صفر تا صد: نصب راه اندازی، پیاده سازی
قبل از شروع یه کار جدید با نرم افزار تحت وب از طریق کتابخانه جنگو یا همان جانگو (Django)، باید تنظیمات خاصی را مرحله به مرحله انجام دهید. از مطالب این مقاله می توانید به عنوان منبعی برای چگونگی طی کردن این مراحل در پروژه های جانگو استفاده کنید.
موضوع اصلی این مقاله در مورد مراحل اصلی مورد نیاز برای شروع یک پروسه تحت وب است. برای تکمیل این عملیات، ابتدا باید برنامه پایتون (Python) را نصب کنید و نحوه کار کردن با بسته مدیریتی این برنامه (pip) و محیط های مجازی را بلد باشید. البته برای انجام این کار نیازی نیست به شکل کامل برنامه نویسی بلد باشید، در همین حد که از نحوه کارکرد پایتون برای ایجاد چارچوب پروژه نهایی آگاهی داشته باشید، کافیست.
در پایان این مقاله آموزشی، شما با نحوه انجام موارد زیر آشنا خواهید شد:
- راه اندازی یک محیط مجازی
- نصب جنگو
- شناسایی ملزومات پروژه
- راه اندازی یک پروژه با جانگو
- پیاده سازی یک نرم افزار با جانگو
از این مقاله می توانید به عنوان منبعی موثق برای ایجاد پروژه های بیشمار استفاده کنید و آنقدر این کار را تکرار کنید تا دستورات مهم و اصلی آن ملکه ذهنتان شود. اما قبل از هر چیز، یادگیری و اجرای مراحل زیر ضروری است. البته می توانید تمریناتی که در این مقاله داده شده است را انجام دهید تا مطالبی را که به صورت تئوری آموخته اید به مرحله اجرا در بیاورید.
آماده سازی محیط کار
برای شروع پروژه جدید ساخت برنامه کاربردی با جانگو، ابتدا یک پوشه جدید بسازید و وارد آن شوید. ما همه دستورات وارد شده در این مطلب را در پوشه shell ایجاد می کنیم. حالا در این پوشه، با استفاده از فرمان زیر یک محیط مجازی جدید ایجاد کنید:
$ python3 -m venv env
این دستور محیط مجازی جدیدی با عنوان env در مسیر فعلی شما ایجاد می کند. بعد از این مرحله، باید محیط مجازی را با فرمان زیر فعال کنید:
$ python3 -m venv env
اگر فعال سازی با موفقیت انجام شود، شما باید نام محیط مجازی ساخته شده را (env) در ابتدای خط فرمان مشاهده کنید. مشاهده این نام به معنی تکمیل تنظیمات محیط مجازی شماست.
آموزش کار کردن در محیط مجازی با پایتون و نحوه انجام تنظیمات تکمیلی در این نرم افزار بسیار مفصل است، اما برای کار با جانگو، در همین حد کافی است. در ادامه می توانید بسته django را نصب کنید.
نحوه نصب جانگو و شناسایی ملزومات
بعد از ایجاد و فعال سازی محیط مجازی در پایتون، می توانید برنامه جانگو را از طریق دستور زیر نصب کنید:
(env) $ python -m pip install django
این دستور پکیج django را با استفاده از بسته مدیریتی pip از لیست بسته های پایتون (PyPI) فراخوانی می کند. بعد از اینکه مراحل نصب به پایان رسید، می توانید ملزومات مورد نیاز را از مسیری که جانگو نصب شده است، شناسایی کنید:
(env) $ python -m pip freeze > requirements.txt
با اجرای این فرمان لیست اسامی و نسخه های تمامی بسته های خارجی پایتون که در محیط مجازی شما وجود دارند در قالب فایلی requirements.txt نمایش داده می شود. این فایل همچنین شامل بسته django و سایر متعلقات آن است.
نکته: نسخه های زیادی از برنامه جانگو ارائه شده است. معمولاً برای شروع یک پروژه جدید استفاده از آخرین نسخه نرم افزار بهترین گزینه است، اما شاید مجبور شوید برای پیاده سازی یک پروژه خاص از نسخه متفاوتی استفاده کنید. شما می توانید هر نسخه از جانگو را که می خواهید با آن کار کنید با اضافه کردن شماره آن نسخه در خط فرمان نصب کنید:
(env) $ python -m pip install django==2.2.11
با اجرای این دستور نسخه 2.2.11 جانگو جایگزین آخرین نسخه نصب شده در محیط مجازی شما خواهد شد. برای نصب آن، فقط کافیست عدد نسخه مورد نظرتان را بعد از علامت (==) و با فاصله از کلمه جانگو تایپ کنید.
همچنین ضروری است آخرین نسخه تمامی بسته های مورد نیاز جهت پیاده سازی پروژه تان از قبیل فایل requirements.txt را در اختیار داشته باشید. این فایل به شما و سایر برنامه نویسان اجازه می دهد شرایط و مشخصات مورد نظر خودتان را در پروژه بازنویسی کرده و با آنها کار کنید.
فرض کنید در حال کار کردن روی پروژه ای هستید که وابستگی های آن در یک فایل requirements.txt مشخص شده اند. در این صورت، شما می توانید نسخه موردنظر جانگو را همراه سایر بسته های لازم فقط با نوشتن یک خط فرمان نصب کنید:
(env) $ python -m pip install -r requirements.txt
با اجرای این دستور تمام اسامی و نسخه های بسته های مشخص شده در فایل requirements.txt خوانده می شوند و نسخه تعیین شده برای هر بسته در محیط مجازی شما نصب می شود.
استفاده از محیط مجازی مجزا برای هر پروژه این امکان را برای شما فراهم می کند که بتوانید با نسخه های مختلف جانگو کار کنید و پروژه های متنوعی از برنامه های کاربردی تحت وب ایجاد کنید. مشخص کردن وابستگی های پروژه به کمک دستور pip freeze به شما اجازه می دهد محیط کاری خود را طبق آنچه مورد نیاز پروژه خودتان است بازسازی کنید.
راه اندازی یک پروژه جانگو
بعد از اینکه جانگو را با موفقیت نصب کردید، نوبت به ایجاد چارچوب برنامه کاربردی تحت وب جدید است. چارچوب جانگو بین پروژه ها و اپلیکیشن ها تمایز قائل می شود:
- پروژه جانگو یک واحد سازمانی منطقی سطح بالاست که تمامی اپلیکیشن های تحت وب را کنترل می کند. هر پروژه می تواند دارای چندین اپلیکیشن باشد.
- اپلیکیشن جانگو واحدی سطح پایین از اپلیکیشن تحت وب شماست. در یک پروژه می توانید از صفر تا بی نهایت اپلیکیشن داشته باشید، و معمولاً حداقل از یک اپلیکیشن در پروژه خود استفاده می کنید. درباره ویژگی های این اپلیکیشن ها در بخش بعدی بیشتر صحبت خواهیم کرد.
بعد از راه اندازی و فعال شدن محیط مجازی و نصب جانگو، اکنون می توانید پروژه جدیدی ایجاد کنید:
(env) $ django-admin startproject <project-name>
در اینجا ما از واژه setup به عنوان اسم پروژه جدید استفاده می کنیم:
(env) $ django-admin startproject setup
با اجرای این فرمان یک ساختار پوشه ای پیش فرض ایجاد می شود، که شامل بعضی از فایل های پایتون و اپلیکیشن مدیریتی شماست که هم نام با پروژه تان است:
setup/
│
├── setup/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
└── manage.py
در بلوک کد بالا، یک ساختار پوشه ای مشاهده می کنید که از طریق فرمان startproject ایجاد شده است:
- setup/ در واقع سطح بالاترین پوشه پروژه شماست.
- setup/setup/ سطح پایین ترین پوشه است که اپلیکیشن مدیریتی شما در آن قرار دارد.
- manage.py یک فایل پایتونی است که نقش مرکز فرمان پروژه تان را ایفا می کند. این فایل در واقع همان کارایی خط فرمان django-admin را دارد.
پوشه setup/setup/ شامل چندین فایل است که در هنگام کار روی اپلیکیشن تحت وب خود آن را باید ویرایش کنید.
نکته: برای جلوگیری از ساخته شدن پوشه پروژه سطح بالای اضافی، کافیست یک نقطه در انتهای فرمان django-admin startproject اضافه کنید:
(env) $ django-admin startproject <projectname> .
اضافه کردن این نقطه باعث می شود پروسه ایجاد پوشه های پروژه سطح بالا متوقف شده و اپلیکیشن مدیریتی فایل manage.py دقیقاً در مسیر فعال کنونی ایجاد شود. این ترفند در برخی از سایت های آموزشی جانگو بیان شده است. تمام این عملیات به منظور ایجاد چارچوب پروژه بدون پوشه پروژه سطح بالاست.
برای ساخته شدن چارچوب پیش فرض پروژه که از طریق خط فرمان django-admin شکل می گیرد، صبر داشته باشید. هر پروژه ای که با استفاده از دستور startproject ایجاد کنید، ساختاری مشابه خواهد داشت.
هر زمان که آماده بودید، می توانید عملیات ساختن اپلیکیشن جانگو را در قالب یک واحد سطح پایین از برنامه کاربردی تحت وب خود شروع کنید.
پیاده سازی یک نرم افزار با جانگو
هر پروژه ای که شما با جانگو می سازید می تواند از چندین اپلیکیشن جانگویی تشکیل شده باشد. وقتی که در بخش قبلی فرمان startproject را اجرا کردید، در واقع یک اپلیکیشن مدیریتی ایجاد کردید که آن را برای همه پروژه های پیش فرضی که بعداً می سازید، لازم دارید. در واقع، یک اپلیکیشن جانگویی ایجاد می کنید که شامل عملکرد خاصی از برنامه کاربردی تحت وب شماست.
دیگر نیازی نیست از خط فرمانdjango-admin استفاده کنید، و به جای آن می توانید فرمانstartapp را از طریق فایل manage.py اجرا کنید:
(env) $ python manage.py startapp <appname>
فرمان startapp یک ساختار پوشه ای پیش فرض برای یک اپلیکیشن جانگو به وجود می آورد. به عنوان مثال در این مقاله نام این اپلیکیشن را example می گذاریم:
(env) $ python manage.py startapp example
به خاطر داشته باشید که در زمان ایجاد اپلیکیشن جانگو برای برنامه کاربردی تحت وب خود، می توانید از هر نامی به جای 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/ است. شما می توانید این پوشه را که شامل تعدادی فایل پایتون است مشاهده کنید.
بعد از ایجاد برنامه کاربردی تحت وب، بیشتر فعالیت شما در همین پوشه اپلیکیشن جانگو صورت می گیرد. البته لازم است یک سری تغییرات در اپلیکیشن مدیریتی یا پوشه setup/ اعمال کنید، اما بیشتر فعالیت عملکردی شما مربوط به پوشه اپلیکیشن جانگو، یعنیexample/ خواهد بود.
شما زمانی که دوره خاصی را پشت سر می گذارید یا پروژه خود را پیاده سازی می کنید فایل های پایتون ایجاد شده را با تمام جزئیات مشاهده می کنید. در اینجا سه فایل قابل ذکر که در پوشه اپلیکیشن ایجاد شده اند را مرور می کنیم:
1- __init__.py: پایتون از این فایل برای معرفی یک پوشه به عنوان یک بسته استفاده می کند، که به جانگو اجازه می دهد تا از طریق کدنویسی برنامه های مختلف برای ایجاد عملکرد نهایی برنامه کاربردی تحت وب شما استفاده کند. به احتمال زیاد شما به این فایل دسترسی نخواهید داشت.
2- models.py: در این فایل مدل های اپلیکیشن خود را مشخص می کنید، که به جانگو اجازه می دهد با دیتابیس برنامه کاربردی تحت وب شما تعامل داشته باشد.
3- views.py: در این فایل اکثر کدهای منطقی اپلیکیشن شما قرار می گیرند.
خب تا اینجای کار شما تنظیمات چارچوب سازی برنامه کاربردی تحت وب جانگو را به پایان رسانده اید، و حالا نوبت به پیاده سازی ایده های تان رسیده است. از این به بعد، مهمترین کار شما مشخص کردن چیزی است که می خواهید برای ایجاد پروژه منحصر به فرد خود بنا کنید.
مرجع فرمان
جدول زیر شامل منابعی دم دستی از دستورهای لازم برای راه اندازی پروسه توسعه برنامه جانگوی شماست. این مراحل در جدول مرجع مرتبط با بخش هایی از آموزش این مقاله است که از طریق آن می توانید توضیحات بیشتری را مطالعه کنید:
مرحله | توضیحات | دستور |
---|---|---|
1a | راه اندازی یک محیط مجازی |
python -m venv env |
1b | فعال سازی محیط مجازی |
source env/bin/activate |
2a | نصب جانگو |
python -m pip install django |
2b | مشخص کردن وابستگی ها |
python -m pip freeze > requirements.txt |
3 | راه اندازی یک پروژه جانگو |
django-admin startproject <projectname> |
4 | راه اندازی یک اپلیکیشن جانگو |
python manage.py startapp <appname> |
از این جدول می توانید به عنوان مرجعی دم دستی برای شروع یک برنامه کاربردی تحت وب با جانگو در یک محیط مجازی تحت پایتون استفاده کنید.
ویژگی های جنگو (اینفوگرافی)
دانلود دروس آموزش جنگو
- برای دانلود دروس کافی ست دکمه Alt را نگه دارید و روی هر درس کلیک کنید. یا اینکه فقط روی آن کلیک کنید و بعد از باز شدن درس علامت سه نقطه پایین سمت راست را بزنید و گزینه Save as را انتخاب نمایید.
- هر درسی کار نکرد حتما در بخش نظرات اعلام کنید تا مشکل سریعا رفع شود
- دو سبک آموزش داریم. آموزش اول کامل تر است و آموزش دوم خلاصه تر. بسته به سلیقه خودتان یکی از آموزشها را برای یادگیری دانلود کنید:
آموزش اول
از پیج vrfEducation:
درس 1
درس 2
درس 3
درس 4
درس 5
درس 6
درس 7
درس 8
درس 9
درس 10
جلسات بالا تقریبا شامل همه موارد ابتدایی هستند اما احتمالا 2 جلسه تکمیلی وجود داشته باشد که بروز خواهد شد.
واقعیت این هست که هیچ اموزش رایگانی در هیچ کجا، جنگو رو حرفه ای بهتون یاد نمیده ضمن اینکه یادگیری جنگو اینده و فرصت کسب درامدتون رو زیر و رو میکنه، براحتی میشه باهاش مهاجرت کرد و تو ایران یا خارج از کشور با درامد بالا شروع به کار کرد. یک بار برای همیشه حرفه ای جنگو رو یاد بگیر با بهترین پک اموزش جنگو در ایران که از بین دهها دوره/پک گلچین شده-روی عکس زیر کلیک کن تا وارد صفحه خرید بشی (هم امکان خرید و دانلود داره هم خرید و دریافت پستی فیزیکی):
برای یادگیری حرفه ای پایتون هم پک زیر:
آموزش دوم
از پیج کارشناسان نت:
درس 1
درس 2
درس 3
درس 4
درس 5
درس 6
در کنار این مطلب دانلود کنید: آموزش صفر تا صد پایتون (رایگان)
سوالات متداول
1- برای یادگیری Django چه پیش نیازهایی لازم است؟
برای یادگیری Django ابتدا باید با پایتون آشنا بشید و تسلط کافی را داشته باشید. پس از پایتون باید به پایه و اساس طراحی وب که HTML/CSS/JS است مسلط شوید و سپس سراغ یادگیری فریمورک فوق العاده و بسیار قدرتمند Django بروید. یکی از بهترین منابع برای یادگیری فریمورک جنگو استفاده از خود اسناد سایت جنگو است.
2- جنگو برای چه پروژه هایی مناسب است؟
اگر به دنبال طراحی یک محصول مقیاس پذیر و قابل گسترش هستید و در عین حال نگران مسائل امنیتی و مورد حمله قرار گرفتن هستید و نیاز به امنیت بالایی دارید، جنگو می تواند انتظارات شما را به خوبی برآورده کند. علاوه بر این، اگر در آینده به فکر استفاده از فناوری های جدید مثل یادگیری ماشین در محصول خود هستید، Django می تواند یک انتخاب صد در صد صحیح برای شما باشد.
3- دسترسی به PACKAGEهای DJANGO به چه صورت است؟
جامعه ی Django، درست مثل جامعه یPython، ابزار ها و Package های زیادی برای کاربران فراهم کرده است. کلمه ی Django را در PyPI تایپ کنید و بیش از ۴۰۰۰ Package موجود برای کاربران در اختیار شما قرار خواهد گرفت. این فریم ورک تقریبا تمامی ویژگی ها و امکاناتی را که شما دنبال آن هستید را در خود جای داده است.
در ادامه بخوانید: آموزش شی گرایی در پایتون برای مبتدیان (به زبان ساده)
جمع بندی
در این مقاله آموزشی، شما با تمامی مراحل لازم برای راه اندازی چهارچوب یک برنامه کاربردی تحت وب جدید با جانگو آشنا شدید. به مرور زمان و هر چه بیشتر این فرمان ها را در پروژه های طراحی وب با جانگو اجرا کنید، یادگیری و کار با آنها برای شما راحت تر می شود.
همچنین در مورد اینکه چرا باید از هر فرمان استفاده کنید و هر کدام از آنها چه کاربردی دارند آموختید، و نکات و ترفندهایی در ارتباط با نحوه انجام تنظیمات در جانگو یاد گرفتید.
در این آموزش، شما یاد گرفتید که چگونه:
- یک محیط مجازی راه اندازی کنید
- جانگو را نصب کنید
- وابستگی ها را مشخص کنید
- یک پروژه با جانگو راه اندازی کنید
- یک اپلیکیشن با جانگو راه اندازی کنید
بعد از اینکه مراحل ذکر شده در این مقاله را انجام دهید، می توانید کار ساخت برنامه کاربردی تحت وب موردنظرتان را با جانگو شروع کنید. برای مثال، می توانید یک اپلیکیشن نمونه برای نمایش پروژه های خود بسازید. برای رشد بیشتر مهارت های تان درجانگو می توانید با یک برنامه ریزی مدون از طریق منابع ارائه شده مسیر یادگیری این برنامه را با قدرت طی کنید.
تا جایی که می توانید با برنامه های کاربردی تحت وب با جانگو کار کنید تا تمامی مراحل آن ملکه ذهنتان شود. اگر نیاز به یک منبعی برای مرور سریع روش این کار نیاز داشتید مطالعه این مقاله بهترین گزینه است.
به عنوان طراح وب /دولوپر مهاجرت کردم استرالیا اما خب اینجا خیلی سخت گیرن بخصوص توانایی برنامه نویسی پایتون و جنگو یه باید هست برای کار توی هر کمپانی یا حتی تو محیط دانشگاه شدیدا . چند ماه پیش برای یادگیری کامل پایتون و جنگو یه کلاس انلاین ایران شرکت کردم و یه پک دو میلیونی هم خریدم اما باز هم خییلی ناقص بودن. اتفاقی پک اموزشی شما رو دیدم، برای پک حرفه ای پایتون 3 هفته تمام وقت گذاشتم و جنگو دو هفته، اونقد کامل بودن و بروز که میتونم بگم تسلط کامل پیدا کردم و الان با حقوق 4 هزار دلاری مشغول بکار شدم بینهایت بهتون مدیونم بابت دوره تون ممنون. این آومزشای رایگان هم بگم وقت تلف کردنه. وقت ادما خیلی مهم تر
پاسخخخخخ اولین برنامه م رو تونستم با بسته اموزشی حرفه ای جنگو تون که تو همین صفحه تبلیغ کردین بنویسم اتفاقا جالب هم شده. ینی اون کلاسهایی که رفتم عملا هیچی بهم یاد نداده بودم. این اموزشای رایگان تونم جمع کنید وقت اینمه کاربر نگیرین چی ن اخه. حاجی خیییلی بسته جنگو تون پک کاملیه دمت گرم مشتی
پاسخخوشحالم که مفید بوده. بله عنوان یک برنامه نویس پایتون، کلی وقت گذاشتم و ازمون و خطای پک های مختلف بازار رو انجام دادم تا این دو بسته پایتون و جانگو گلچین شده. اموزش های رایگان هم متاسفانه خیلی از هموطنان عزیزمون توان خرید همین پک های با قیمت اندک رو هم ندارن و این اموزشهای رایگان میتونه دستورات مبتدی بهشون یاد بده و به کارشون بیاد