آموزش نصب Django (جنگو)

پیش نیاز ها:آشنایی با طرز استفاده از terminal/command line و چگونگی نصب پکیج های نرم افزار بر روی سیستم عاملاهداف:داشتن یک محیط توسعه برای اجرای Django (3.*) بر روی کامپیوتر.نگاهی بر محیط توسعه Djangoشما میتوانید به سادگی محیط توسعه Django را بر کامپیوتر شخصی خود راه اندازی کرده و به توسعه اپلیکیشن های وب بپردازید. در این بخش ما محیط توسعه(developing environment) را به شما معرفی کرده و به بررسی خلاصه ای از تنظیمات و گزینه های آن میپردازیم. در ادامه متد توصیه شده (recommended) برای نصب محیط توسعه Django بر Ubuntu، macOS ، Windows و همچنین روش تست آن ها معرفی میشود. محیط توسعه Django چیست؟شما با نصب Django بر کامپیوتر خود، میتوانید از محیط توسعه برای توسعه و تست اپلیکیشن های Django، پیش از قرار دادن آنها در محیط تولید، استفاده کنید.جنگو کد های Python script لازم برای شروع به کار و ایجاد پروژه های Django و همچنین یک development webserver برای تست کردن اپلیکیشن های وب بر جستجو گر کامپیوتر(نه یک وب سرور خارجی) را در اختیار ما قرار میدهد.ابزار های دیگری نیز برای تشکیل محیط توسعه موجودند که البته در این بخش بررسی نخواهند شد. مانند text editor یا IDE برای ویرایش کد، و یا ابزار های source control management مانند Git که برای مدیریت امن نسخه های مختلف کد شما. ما فرض میکنیم که یک text editor بر سیستم شما نصب شده است.ابزار های دیگری نیز برای تشکیل محیط توسعه موجودند که البته در این بخش بررسی نخواهند شد. مانند text editor یا IDE برای ویرایش کد، و یا ابزار های source control management مانند Git که برای مدیریت امن نسخه های مختلف کد شما. ما فرض میکنیم که یک text editor بر سیستم شما نصب شده است.گزینه های راه اندازی Django چه هستند؟جنگو دارای گزینه های نصب و تنظیم بسیار انعطاف پذیری است که میتواند:بر سیستم عامل های مختلف نصب شود.از طریق source، از Python Package Index(PyPi)، و یا از اپلیکیشن package manager کامپیوتر host، نصب شود.به شکلی تنظیم شود که از دیتابیس های مخلتفی استفاده کند، که البته ممکن است نیاز به نصب و تنظیم جداگانه آنها باشد.در محیط اصلی Python و یا محیط های مجازی جداگانه اجرا شود.هر یک از این گزینه ها نیاز به تنظیم و راه اندازی جداگانه دارند. بخش زیر تعدادی از انتخاب های موجود را برای شما توضیح داده و نصب و راه اندازی Django بر چند سیستم عامل را به شما نشان میدهد.جنگو از چه سیستم عامل هایی پشتیبانی میکند؟اپلیکیشن وب Django تقریبا بر هر سیستمی که قابلیت اجرای زبان برنامه نویسی Python 3 را داشته باشد، مانند Windows، mac OS، Linux/Unix ، Solaris و بسیاری دیگر، اجرا میشود. تقریبا تمام کامپیوتر ها دارای امکانات های لازم برای اجرای Django، در مرحله توسعه هستند.در این بخش دستورالعمل نصب Django بر Windows، mac OS و Linux/Unix را بررسی خواهیم کرد.کدام نسخه Python برای من مناسب است؟شما میتوانید از هر نسخه ی Python که توسط نسخه Django مدنظرتان پشتیبانی میشود استفاده کنید. اگر از Django 3.1.2 استفاده میکنید، نسخه های Python 3.6 تا 3.8 برای شما مجاز استتوجه: نسخه های پس از Django 1.11.x از Python 2.7 پشتیبانی نمیکنند.از کجا باید Django را دانلود کرد؟جنگو را میتوان به سه طریق دانلود کرد:از طریق Python Package Repository (PyPi) با استفاده از ابزار pipe- که بهترین روش برای دریافت آخرین نسخه پایدار Django است.نسخه موجود در package manager کامپیوترتان- نسخه هایی از Django که در سیستم عامل موجودند، روش نصب مشابهی دارند. اما توجه کنید ممکن است این پکیج بسیار قدیمی باشد و تنها میتوان آن را بر محیط سیستم Python نصب کرد( و ممکن است عملکرد دلخواه شما را نداشته باشد).نصب از source- شما میتوانید آخرین نسخه bleeding-edge را source دریافت کنید.استفاده از این نسخه به توسعه دهندگان مبتدی توصیه نمیشود اما اگر آماده ی کمک به Django هستید باید از این نسخه استفاده کنید.در این بخش مراحل نصب آخرین نسخه پایدار Django ، از طریق PyPi ، بررسی میشود.چه دیتابیسی مناسب است؟جنگو از چهار دیتابیس اصلی ( PostgreSQL، MariaDB، MySQL ، Oracle و SQLite ) پشتیبانی کرده و کتابخانه های زیادی نیز برای پشتیبانی انواع دیگر دیتابیس های SQL و NoSQL در اختیار شما قرار میدهد. توصیه میکنیم که از دیتابیس یکسانی برای تولید و توسعه استفاده کنید( البته Django با استفاه از Object-Relational Mapper (ORM) خود میتواند تفاوت دیتابیس های مختلف را تا حد زیادی شناسایی کند، اما ممکن است با مشکلاتی نیز مواجه شوید).در این مقاله ( و بیشتر ماژول های آن) ما از دیتابیس SQLite استفاده میکنیم که داده های خود را در یک فایل ذخیره میکند. SQLite برای دیتابیس های سبک طراحی شده و نمیتواند سطح بالایی از عملیات هم زمان را پشتیبانی کند، اما گزینه ی بسیار مناسبی برای اپلیکیشن های read-only است.توجه:اگر پروژه وب سایت خود را با ابزار های استاندارد (django-admin) آغاز کنید، Django به شکل پیش فرض از SQLite استفاده خواهد کرد.نصب به شکل system-wide یا در Python Virtual Environment؟با نصب Python 3، یک global environment مشترک با کد Python 3 دریافت میکنید. شما میتوانید هر یک از پکیج های پایتون را در محیط خود نصب کنید اما دقت کنید تنها مجاز به نصب یک نسخه از هرپکیج هستید( نمیتوانید به شکل هم زمان از چند نسخه یک پکیج استفاده کنید).توجه:: اپلیکیشن های پایتون که بر global environment نصب میشوند، ممکن است( در صورت نیاز به نسخه های مختلف یک پکیج) با یکدیگر ناسازگاری داشته باشند.با نصب Django بر محیط default و یا global ، تنها مجاز به استفاده از یک نسخه Django بر سیستم خود خواهید بود. در این شرایط، اگر بخواهید وب سایت های جدیدی با استفاده از نسخه های جدید Django بسازید اما وب سایت های قبلی تان وابسته به نسخه های قدیمی تر Django باشند، با مشکل روبرو خواهید شد.توسعه دهندگان با تجربه Django، برای حل این مشکل، معمولا اپلیکیشن های خود را در محیط های مجازی مستقل پایتون (independent Python virtual environments) اجرا میکنند که به آنها اجازه حفظ چندین محیط متفاوت Django را بر یک کامپیوتر میدهد. تیم توسعه دهندگان Django نیز توصیه میکنند که از محیط های مجازی پایتون استفاده کنید!این بخش، ما به شما آموزش میدهیم که Django را بر یک محیط مجازی نصب کنید و از آن استفاده کنید.آموزش نصب Python 3برای استفاده از Django باید بر سیستم عامل خود Python نصب کنید. اگر از Python 3 استفاده میکنید، به ابزار Python Package Index (pip 3 ) ، برای مدیریت ( نصب ، به روز رسانی و حذف) پکیج ها و کتابخانه های پایتون، که توسط Django و اپلیکیش های دیگر پایتون، استفاده میشوند نیز نیاز دارید.این بخش به شما می آموزد نسخه پایتون موجود در سیستم خود را بررسی و در صورت نیاز نسخه های جدیدتری بر سیستم Ubuntu 20.4، mac OS ویا 10 Windows خود نصب کنید.توجه:ممکن است بتوانید Python و یا pip را از package manager موجود در سیستم عامل خود و یا به کمک مکانیز های دیگری نیز نصب کنید. فایل های نصبی و متد مناسب نصب برای اکثر پلتفرم ها، در https://www.python.org/downloads موجود است. توزیع Ubuntu 20.04برسیستم های Ubuntu Linux 20.4 LTS، به شکل پیش فرض، Python 3.8.5 نصب شده است. میتوانید با اجرای دستور زیر در ترمینال bash، از وجود آن اطمینان حاصل کنید:python3 -VPython 3.8اما باید ابزار Python Package Index (pip3) را برای Python 3 بر روی سیستم خود نصب کنید. میتوانید این کار را با اجرای دستور زیر در ترمینال bash انجام دهید:sudo apt install python3-pipسیستم عامل macOS بر سیستم عامل mac OS “El Capitan” و ورژن های جدید تر آن، به شکل پیش فرض Python 3 نصب نشده است. میتوانید با اجرای دستور زیر در ترمینال bash این موضوع را بررسی کنید:python3 -V-bash: python3: command not foundپایتون 3 ( و ابزار pip3 ) از طریق python.org به راحتی نصب خواهند شد:1. دانلود installer مورد نیاز:به https://www.python.org/downloads/ بروید.گزینه ی Download Python 3.8.6 را انتخاب کنید ( ممکن است نسخه ی متفاوتی موجود باشد).توجه:دقت کنید که Django از نسخه موجود پشتیبانی کند ( اگر نه از لینک ورژن های قبلی که در همان صفحه موجود است استفاده کرده و ورژن دیگری را دانلود کنید).2. با استفاده از Finder مکان فایل را مشخص کرده و بر آن دابل کلیک کنید. سپس فایل دانلود شده را نصب کنید.حالا میتوانید با استفاده از دستور زیر از نصب Python 3 اطمینان حاصل کرده و نسخه آن را مشاهده کنید: python3 -VPython 3.9.0با دریافت لیستی از پکیج ها ، وجود pip3 نیز مشخص میشود:pip3 listویندوز 10در Windows نیز Python به شکل پیش فرض وجود ندارد اما میتوان از python.org آن را ( به همراه pip3 ) به راحتی نصب کرد:1. دانلود installer مورد نیاز:به https://www.python.org/downloads/ بروید.گزینه ی Download Python 3.8.6 را انتخاب کنید ( ممکن است نسخه ی متفاوتی موجود باشد).توجه:دقت کنید که Django از نسخه موجود پشتیبانی کند ( اگر نه از لینک ورژن های قبلی که در همان صفحه موجود است استفاده کرده و ورژن دیگری را دانلود کنید).2. بر فایل Python دانلود شده دابل کلیک کرده و مرحل نصب را دنبال کنید.3. در زمان نصب، حتما گزینه ی “Add Python to Path” را فعال کنید.سپس میتوانید با اجرای دستور زیر در command prompt، از نصب Python 3 اطمینان حاصل کنید:py -3 -VPython 3.8.6 به شکل پیش فرض با نصب Python 3 در ویندوز، pip 3 نیزنصب خواهد شد. با دریافت لیستی از پکیج های ، وجود pip3 نیز مشخص میشود:pip3 listتوجه:دستورات بالا تنها با نصب صحیح پایتون اجرا میشوند. اگرگزینه ی system path را فراموش کنید، با اجرای دستورات بالا پیام " Python cannot be found" را دریافت خواهید کرد. برای رفع این مشکل میتواند installer را دوباره اجرا کرده و “Modify” را انتخاب کنید. سپس، در صفحه دوم، گزینه ی “Add Python to environment variables” را فعال کنید.استفاده از Django در یک محیط مجازی پایتونما از کتابخانه های virtualenvwrapper (Linux و macOS) و virtualenvwrapper-win (Windows)، که هر دو از ابزارvirtualenv استفاده میکنند، برای ایجاد محیط مجازی خود استفاده میکنیم. ابزار های wrapper، رابط ثابتی برای مدیریت رابط ها بر پلتفرم های مختلف ایجاد میکنند.نصب نرم افزار محیط مجازیراه اندازی محیط مجازی Ubuntuپس از نصب Python و pip، میتوانید virtualenvwrapper را ( که شامل virtualenv است) نصب کنید.با استفاده از ابزار pip3، tool را نصب کنید:sudo pip3 install virtualenvwrapperسپس خطوط زیر را به انتهای فایل startup در shell ( که یک فایل hidden به نام .bashrc در دایرکتوری home است) اضافه کنید. با این کار محل اجرای محیط مجازی، آدرس دایرکتوری پروژه های توسعه و محل script هایی که با این پکیج نصب میشوند را مشخص خواهید کرد:export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 'source /usr/local/bin/virtualenvwrapper.shتوجه:متغیر های VIRTUALENVWRAPPER_PYTHON و VIRTUALENVWRAPPER_VIRTUALENV_ARGS به محل نصب معمول Python 3 و source /usr/local/bin/virtualenvwrapper.sh به محل معمول virtualenvwrapper.sh script، اشاره میکنند. اگر virtualenv در زمان تست به درستی عمل نکند، محل نصب Python و script میتواند یکی از مشکلات احتمالی آن باشد ( که در این صورت باید مکان فایل startup را تغییر دهید). برای یافتن محل صحیح نصب در سیستم خود میتوانید از command های which virtualenvwrapper.shوwhich python3 استفاده کنید.سپس با استفاده از دستور زیر در ترمینال، فایل startup را reload کنید:source ~/.bashrcپس از اجرای این دستور میتوانید اجرای script ها را، به شکل زیر، مشاهده کنید:virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/premkprojectvirtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postmkproject...virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/preactivatevirtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postactivatevirtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/get_env_detailsحالا میتوانید با استفاده از دستور mkvirtualenv یک محیط مجازی جدید بسازید.راه اندازی محیط مجازی mac OSراه اندازی virtualenvwrapper بر سیستم عامل mac OS تقریبا مشابه Ubuntu انجام میشود.با استفاده از pip، virtualenvwrapper را نصب کنید (bundling virtualenv نیز در این مرحله انجام میشود):sudo pip3 install virtualenvwrapperسپس خطوط زیر را به انتهای فایل startup موجود در shell اضافه کنید:export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export PROJECT_HOME=$HOME/Develsource /usr/local/bin/virtualenvwrapper.shتوجه:متغیر VIRTUALENVWRAPPER_PYTHON به محل نصب معمول Python 3 و source /usr/local/bin/virtualenvwrapper.sh به محل معمول virtualenvwrapper.sh script، اشاره میکند. اگر virtualenv در زمان تست به درستی عمل نکند، محل نصب Python و script میتواند یکی از مشکلات احتمالی آن باشد ( که در این صورت باید مکان فایل startup را تغییر دهید). مثلا، یک تست نصب در سیستم عامل macOS، باید خطوط زیر را در فایل startup تولید کند:export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3export PROJECT_HOME=$HOME/Develsource /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.shبرای یافتن محل صحیح نصب در سیستم خود میتوانید از command های which virtualenvwrapper.sh و which python3 استفاده کنید.این خطوط اضافه شده با سیستم عامل Ubuntu مشترک هستند اما فایل startup، یک فایل hidden به نام .bash_profile در دایرکتوری home می باشد.توجه:اگر فایل .bash_profile را برای ویرایش در finder نیافتید، میتوانید با استفاده از nano آن را در ترمینال پیدا کنید. دستور لازم برای این کار مشابه دستور زیر است:cd ~ # Navigate to my home directoryls -la #List the content of the directory. YOu should see .bash_profilenano .bash_profile # Open the file in the nano text editor, within the terminal# Scroll to the end of the file, and copy in the lines above# Use Ctrl+X to exit nano, Choose Y to save the file.سپس با اجرای فراخوانی زیر در ترمینال، فایل startup را reload کنید:source ~/.bash_profileدر این مرحله، میتوانید اجرای script ها را( مانند script های بخش Ubunt) مشاهده کرده و سپس با دستور mkvirtualenv محیط مجازی جدیدی ایجاد کنید.راه اندازی محیط مجازی Windows 10نصب virtualenvwrapper-win از نصب virtualenvwrapper بسیار ساده تر است، زیرا که نیازی به مشخص کردن مکان ذخیره اطلاعات محیط مجازی برای ابزار ها وجود ندارد( این کار به شکل پیش فرض انجام خواهد شد). شما تنها باید دستور زیر را در command prompt اجرا کنید:pip3 install virtualenvwrapper-winسپس با استفاده از دستور mkvirtualenv محیط مجازی جدیدی بسازید.ساخت یک محیط مجازیپس ازاینکه virtualenvwrapper ویا virtualenvwrapper را نصب کردید، کاربا محیط مجازی بر تمام پلتفرم ها یکسان خواهد بود.حالا با استفاده از دستور mkvirtualenv یک محیط مجازی جدید ایجاد کنید. با اجرای این دستور مراحل ایجاد این محیط جدید را مشاهده خواهید کرد ( که ممکن است در پلتفرم های مختلف قدری متفاوت باشد). پس از اتمام اجرای دستور، محیط مجازی جدید فعال خواهد شد( درابتدای prompt نام محیط جدید در () قرار خواهد گرفت که در شکل زیر برای سیستم عامل Ubuntu نمایش داده شده است. نتیجه نهایی در windows و macOS نیز مشابه خواهد بود):$ mkvirtualenv my_django_environmentRunning virtualenv with interpreter /usr/bin/python3...virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/t_env7/bin/get_env_details(my_django_environment) ubuntu@ubuntu:~$حالا شما در محیط مجازی جدید هستید و میتوانید Django را نصب کرده و کار توسعه را آغاز کنید.توجه: پس از این، دراین مقاله ( و ماژول) تمامی دستورات باید در یک محیط مجازی پایتون، مانند محیط بالا، اجرا شود.روش کار در یک محیط مجازیچند دستور مفید برای کار با محیط مجازی در این بخش بررسی میشوند( البته دستورات بیشتری در documentation tool وجود دارند اما در این بخش ما چند دستورات پرکاربرد را به شما معرفی میکنیم):deactivate -خروج از محیط مجازی پایتون فعلیworkon - لیست کردن محیط های مجازی در دسترسworkon name_of_environment – فعال کردن محیط مجازی پایتون مشخص شدهrmvirtualenv name_of_environment - حذف محیط مشخص شدهنصب Djangoپس از نصب یک محیط مجازی و فراخوانی workon برای ورود به محیط، میتوانید با استفاده از pip3، Django را نصب کنید:pip3 install django~=3.1حالا با اجرای دستور زیر، نصب Django را بررسی کنید( با اجرای این دستور، پایتون تنها ماژول Django را جستجو کرده و در صورت وجود نمایش میدهد):# Linux/macOSpython3 -m django --version3.1.2# Windowspy -3 -m django --version3.1.2توجه:اگر با اجرای دستور زیر ماژول Django نمایش داده نشد، از دستور زیر استفاده کنید:py -m django --versionبا قرار دادن پیشوند py-3 در ویندوز، Python 3 script فعال خواهد شد ( البته ممکن است با توجه به روش نصب شما عملکرد متفاوتی داشته باشد). اگر با مشکلی مواجه شدید -3 را حذف کنید. همچنین برای Linux/macOS میتوانید از دستور python3 استفاده کنید.در ادامه ماژول از دستورات Linux برای Python3 استفاده میشود. اگر با ویندوز کار میکنید پیشوند python3 را با py -3 جایگزین کنید.تست نصب Djangoروش بالا به درستی نصب Django را بر سیستم شما تست خواهد کرد، اما روش جالب تر برای این کار، ایجاد یک skeleton project و اجرای آن است. برای این کار، ابتدا command prompt و یا terminl خود را در به مکانی مناسب برای ذخیره اپلیکیشن های Django هدایت کرده و یک فولدر برای site آزمایشی خود بسازید و به آن فولدر بروید.mkdir django_testcd django_testسپس با استفاده از ابزار django-admin یک skeleton site به نام “mytestsite” بسازید. پس از ساخت site به فولدر رفته و main script موجود برای مدیریت پروژه را، که manage.py نام دارد، بیابید.django-admin startproject mytestsitecd mytestsiteبا استفاده از manage.py و دستور runserver ، از داخل این فولدر development web server را اجرا کنید:$ python3 manage.py runserverWatching for file changes with StatReloaderPerforming system checks...System check identified no issues (0 silenced).You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.October 27, 2020 - 03:00:01Django version 3.1.2, using settings 'mytestsite.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.توجه:دستور بالا Linux/macOS command را نمایش میدهد. در این بخش میتوانید از هشدار "18 unapplied migration(s)" چشم پوشی کنید!با اجرای server میتوانید URL ، http://127.0.0.1:8000/ را در جستجوگر خود اجرا کرده و سایتی مشابه شکل زیر مشاهده کنید:خلاصهحالا محیط توسعه Django بر کامپیوتر شما آماده است.در بخش testing، به شکل مختصر آموختید که با استفاده از django-admin startproject یک وبسایت Django ساخته و آن را از طریق development web server (python3 manage.py runserver ) اجرا کنید. در مقاله بعدی، این فرآیند را ادامه داده و اپلیکیشن های ساده و کامل وب خوهیم ساخت .