آشنایی با طرز استفاده از terminal/command line و چگونگی نصب پکیج های نرم افزار بر روی سیستم عامل
داشتن یک محیط توسعه برای اجرای Django (3.*) بر روی کامپیوتر.
شما میتوانید به سادگی محیط توسعه 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 چه هستند؟
جنگو دارای گزینه های نصب و تنظیم بسیار انعطاف پذیری است که میتواند:
هر یک از این گزینه ها نیاز به تنظیم و راه اندازی جداگانه دارند. بخش زیر تعدادی از انتخاب های موجود را برای شما توضیح داده و نصب و راه اندازی Django بر چند سیستم عامل را به شما نشان میدهد.
اپلیکیشن وب Django تقریبا بر هر سیستمی که قابلیت اجرای زبان برنامه نویسی Python 3 را داشته باشد، مانند Windows، mac OS، Linux/Unix ، Solaris و بسیاری دیگر، اجرا میشود. تقریبا تمام کامپیوتر ها دارای امکانات های لازم برای اجرای Django، در مرحله توسعه هستند.
در این بخش دستورالعمل نصب Django بر Windows، mac OS و Linux/Unix را بررسی خواهیم کرد.
شما میتوانید از هر نسخه ی Python که توسط نسخه Django مدنظرتان پشتیبانی میشود استفاده کنید. اگر از Django 3.1.2 استفاده میکنید، نسخه های Python 3.6 تا 3.8 برای شما مجاز است
توجه: نسخه های پس از Django 1.11.x از Python 2.7 پشتیبانی نمیکنند.
از کجا باید Django را دانلود کرد؟
جنگو را میتوان به سه طریق دانلود کرد:
در این بخش مراحل نصب آخرین نسخه پایدار Django ، از طریق PyPi ، بررسی میشود.
جنگو از چهار دیتابیس اصلی ( PostgreSQL، MariaDB، MySQL ، Oracle و SQLite ) پشتیبانی کرده و کتابخانه های زیادی نیز برای پشتیبانی انواع دیگر دیتابیس های SQL و NoSQL در اختیار شما قرار میدهد. توصیه میکنیم که از دیتابیس یکسانی برای تولید و توسعه استفاده کنید( البته Django با استفاه از Object-Relational Mapper (ORM) خود میتواند تفاوت دیتابیس های مختلف را تا حد زیادی شناسایی کند، اما ممکن است با مشکلاتی نیز مواجه شوید).
در این مقاله ( و بیشتر ماژول های آن) ما از دیتابیس SQLite استفاده میکنیم که داده های خود را در یک فایل ذخیره میکند. SQLite برای دیتابیس های سبک طراحی شده و نمیتواند سطح بالایی از عملیات هم زمان را پشتیبانی کند، اما گزینه ی بسیار مناسبی برای اپلیکیشن های read-only است.
توجه:
اگر پروژه وب سایت خود را با ابزار های استاندارد (django-admin) آغاز کنید، Django به شکل پیش فرض از SQLite استفاده خواهد کرد.
با نصب 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 -V
Python 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 به راحتی نصب خواهند شد:
حالا میتوانید با استفاده از دستور زیر از نصب Python 3 اطمینان حاصل کرده و نسخه آن را مشاهده کنید:
python3 -V
Python 3.9.0
با دریافت لیستی از پکیج ها ، وجود pip3 نیز مشخص میشود:
pip3 list
در Windows نیز Python به شکل پیش فرض وجود ندارد اما میتوان از python.org آن را ( به همراه pip3 ) به راحتی نصب کرد:
سپس میتوانید با اجرای دستور زیر در command prompt، از نصب Python 3 اطمینان حاصل کنید:
py -3 -V
Python 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، رابط ثابتی برای مدیریت رابط ها بر پلتفرم های مختلف ایجاد میکنند.
پس از نصب Python و pip، میتوانید virtualenvwrapper را ( که شامل virtualenv است) نصب کنید.
با استفاده از ابزار pip3، tool را نصب کنید:
sudo pip3 install virtualenvwrapper
سپس خطوط زیر را به انتهای فایل startup در shell ( که یک فایل hidden به نام .bashrc در دایرکتوری home است) اضافه کنید. با این کار محل اجرای محیط مجازی، آدرس دایرکتوری پروژه های توسعه و محل script هایی که با این پکیج نصب میشوند را مشخص خواهید کرد:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export 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/premkproject
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postmkproject
...
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/get_env_details
حالا میتوانید با استفاده از دستور mkvirtualenv یک محیط مجازی جدید بسازید.
راه اندازی virtualenvwrapper بر سیستم عامل mac OS تقریبا مشابه Ubuntu انجام میشود.
با استفاده از pip، virtualenvwrapper را نصب کنید (bundling virtualenv نیز در این مرحله انجام میشود):
sudo pip3 install virtualenvwrapper
سپس خطوط زیر را به انتهای فایل startup موجود در shell اضافه کنید:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export PROJECT_HOME=$HOME/Devel
source /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/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
export PROJECT_HOME=$HOME/Devel
source /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 directory
ls -la #List the content of the directory. YOu should see .bash_profile
nano .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 محیط مجازی جدیدی ایجاد کنید.
نصب virtualenvwrapper-win از نصب virtualenvwrapper بسیار ساده تر است، زیرا که نیازی به مشخص کردن مکان ذخیره اطلاعات محیط مجازی برای ابزار ها وجود ندارد( این کار به شکل پیش فرض انجام خواهد شد). شما تنها باید دستور زیر را در command prompt اجرا کنید:
pip3 install virtualenvwrapper-win
سپس با استفاده از دستور mkvirtualenv محیط مجازی جدیدی بسازید.
پس ازاینکه virtualenvwrapper ویا virtualenvwrapper را نصب کردید، کاربا محیط مجازی بر تمام پلتفرم ها یکسان خواهد بود.
حالا با استفاده از دستور mkvirtualenv یک محیط مجازی جدید ایجاد کنید. با اجرای این دستور مراحل ایجاد این محیط جدید را مشاهده خواهید کرد ( که ممکن است در پلتفرم های مختلف قدری متفاوت باشد). پس از اتمام اجرای دستور، محیط مجازی جدید فعال خواهد شد( درابتدای prompt نام محیط جدید در () قرار خواهد گرفت که در شکل زیر برای سیستم عامل Ubuntu نمایش داده شده است. نتیجه نهایی در windows و macOS نیز مشابه خواهد بود):
$ mkvirtualenv my_django_environment
Running 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 وجود دارند اما در این بخش ما چند دستورات پرکاربرد را به شما معرفی میکنیم):
نصب Django
پس از نصب یک محیط مجازی و فراخوانی workon برای ورود به محیط، میتوانید با استفاده از pip3، Django را نصب کنید:
pip3 install django~=3.1
حالا با اجرای دستور زیر، نصب Django را بررسی کنید( با اجرای این دستور، پایتون تنها ماژول Django را جستجو کرده و در صورت وجود نمایش میدهد):
# Linux/macOS
python3 -m django --version
3.1.2
# Windows
py -3 -m django --version
3.1.2
توجه:
اگر با اجرای دستور زیر ماژول Django نمایش داده نشد، از دستور زیر استفاده کنید:
py -m django --version
با قرار دادن پیشوند py-3 در ویندوز، Python 3 script فعال خواهد شد ( البته ممکن است با توجه به روش نصب شما عملکرد متفاوتی داشته باشد). اگر با مشکلی مواجه شدید -3 را حذف کنید. همچنین برای Linux/macOS میتوانید از دستور python3 استفاده کنید.
در ادامه ماژول از دستورات Linux برای Python3 استفاده میشود. اگر با ویندوز کار میکنید پیشوند python3 را با py -3 جایگزین کنید.
روش بالا به درستی نصب Django را بر سیستم شما تست خواهد کرد، اما روش جالب تر برای این کار، ایجاد یک skeleton project و اجرای آن است. برای این کار، ابتدا command prompt و یا terminl خود را در به مکانی مناسب برای ذخیره اپلیکیشن های Django هدایت کرده و یک فولدر برای site آزمایشی خود بسازید و به آن فولدر بروید.
mkdir django_test
cd django_test
سپس با استفاده از ابزار django-admin یک skeleton site به نام “mytestsite” بسازید. پس از ساخت site به فولدر رفته و main script موجود برای مدیریت پروژه را، که manage.py نام دارد، بیابید.
django-admin startproject mytestsite
cd mytestsite
با استفاده از manage.py و دستور runserver ، از داخل این فولدر development web server را اجرا کنید:
$ python3 manage.py runserver
Watching for file changes with StatReloader
Performing 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:01
Django 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 ) اجرا کنید. در مقاله بعدی، این فرآیند را ادامه داده و اپلیکیشن های ساده و کامل وب خوهیم ساخت .