Як встановити Django на сервер
Для створення великих Інтернет-проектів все частіше звертаються до фреймворку Django, відомого своїми неординарними технологічними рішеннями, які претендують на ексклюзивність. Тому для адміністраторів веб-хостингів актуальним стає питання коректного розгортання на сервері сайтів, створених на базі Django. Розглянемо тут параметри даного фреймворку, також продемонструємо процес його установки на сервер на практиці.
Що таке Django framework
Django є веб-фреймворком, створеним мовою програмування Python, і тому для роботи на сервері необхідна наявність програмного середовища Python. Фреймворк дозволяє створювати сайти, що складаються з кількох практично незалежних між собою веб-додатків, що управляються єдиною адміністративною частиною, переведеною на безліч мов світу. Основний принцип платформи - "Ніщо не повинно дублюватися". Відповідно, платформа складається з ряду модулів, які можуть використовуватися різними веб-додатками, чим забезпечується значна мінімізація обсягу коду.
Основні технологічні рішення:
- модульний принцип побудови;
- використання для створення веб-додатків оригінальної схеми «Модель-Шаблон-Представлення»;
- наявність оригінального API (Application Programming Interface) для доступу до реляційних баз даних, що дозволяє розробникам працювати з віртуальною об'єктною базою;
- використання обробника URL-адрес на основі регулярних виразів;
- розширена система фільтрів обробки запитів.
Загалом розробники фреймворку йдуть виключно «своїм шляхом», відмовляючись дотримуватися будь-яких традицій у програмуванні. Тим не менш, це не завадило їхньому програмному продукту стати затребуваним для таких добре відомих у всьому світі веб-ресурсів, як, наприклад, Instagram, YouTube та багатьох інших.
Встановлення віртуального середовища Python на сервер
Як вже було сказано вище, для роботи з Django потрібна наявність програмного середовища Python.
Налаштуємо це середовище. Для початку перевіримо версію мови, встановлену на нашому сервері Ubuntu. Для цього наберемо в терміналі:
$ python3 --version
Як бачимо, встановлена версія Python 3.8.10, яка є однією з останніх. У випадку, якщо цей компонент не був встановлений, то нам довелося б набрати наступну команду для сервера на ОС Debian або Ubuntu:
$ sudo apt install python3
Технологія Python підтримує так зване віртуальне оточення для кожної веб-програми. Це означає, що різні програми не «заважатимуть» один одному, що сприяє «чистоті» середовища розробки. Створимо це оточення.
Для початку створимо окремий каталог, який одночасно буде каталогом для програми Django. Для цього введемо в терміналі ряд команд:
$ mkdir djangogirls
$ cd djangogirls
Для ОС Debian/Ubuntu команда для встановлення необхідних пакетів для формування віртуального оточення буде такою:
$ sudo apt install python3.8-venv
Після запуску команди буде виведена інформація про пакети, що встановлюються в системі, і про необхідний об'єм дискового простору для їх встановлення. Після підтвердження згоди на встановлення (клавіша Y), виконання команди продовжиться. Нижче наведено останній екран команди з повідомленнями про встановлені компоненти.
Після цього створимо для каталогу djangogirls віртуальне оточення Python. Це можна зробити за допомогою наступної команди:
$ python3 -m venv myvenv
Де myvenv – ім'я каталогу, де створять системні файли віртуального оточення. Ім'я може бути довільним.
Після виконання команди в каталозі djangogirls буде створено каталог із файлами віртуального оточення, тобто myvenv. Для того, щоб у цьому переконатися, достатньо набрати команду перегляду вмісту каталогу в Ubuntu:
$ ls
Як бачимо, каталог myvenv з'явився.
Для активації віртуального оточення в Ubuntu слід ввести таку команду:
$ source myvenv/bin/activate
Як видно зі скріншоту вище, в командному рядку з'явився заголовок (myvenv), що показує корекність активації робочого віртуального середовища.
Установка pip для работы з Python/Django
Pip (Package Installer for Python) є менеджером пакетів, аналогічним менеджеру apt для Ubuntu. Він використовується для керування програмним забезпеченням, створеним мовою Python. Для цього при запуску менеджера зазвичай використовується файл з ім'ям requirements.txt, в якому перераховуються назви програмних пакетів та їх версії. Це дозволяє успішно відтворювати список пакетів, що встановлюються, на іншій машині або в іншому віртуальному оточенні.
Для встановлення Django він необхідний pip. Введемо в терміналі команду встановлення цього програмного забезпечення для Ubuntu:
$ apt install python3-pip
У вікні терміналу буде виведена інформація про тип пакетів, що встановлюються, і обсяг дискового простору, необхідного для їх встановлення. Після підтвердження (Y) виконання команди продовжиться. Нижче показано процес встановлення пакетів у процесі (98% виконано).
Останній екран виходу команди показано нижче. Тут видно, що менеджер пакетів pip успішно встановлений у системі.
Установка і налаштування Django на VPS
Перед встановленням Django підготуємо файл requirements.txt, в якому впишемо назву програми та її версію. Для цього введемо в терміналі команду виклику редактора nano:
$ nano requirements.txt
Якщо редактор nano ще не встановлений на сервері, його можна зробити через команду:
$ apt update nano
$ apt install nano
При цьому з'явиться вікно редактора з «чистим» файлом, в який впишемо наступний рядок з версією Django. Підтримуванні версії Python для використання потрібної версії Django можна перевірити в документації за посиланням:
Django~=3.2.10
Потім збережемо внесені у файл зміни (ctrl+O) та вийдемо з редактора (ctrl+X).
Тепер запустимо процес встановлення програми Django за допомогою наступної команди:
$ pip install -r requirements.txt
Нижче наведено екрани, на яких відображається процес встановлення програми «у русі».
З останнього скріншоту видно, що установка пройшла успішно і програма Django встановлена (Successfully installed Django-3.2.15), що нам потрібно. Причому версія встановленої програми більш нова, ніж та, яку ми вказували у файлі.
Далі створюємо структуру директорій для проекту через команду:
$ django-admin startproject mysite
де mysite - назва проекту.
Тепер можна розпочинати налаштовувати наш майбутній проект. Для початку переглянемо вміст каталогу djangogirls за допомогою відповідної команди:
$ ls -la ~/djangogirls/mysite/manage.py ~/djangogirls/mysite/mysite/
Ми бачимо, що крім каталогу віртуального оточення тут з'явився файл manage.py з керуючим скриптом та каталог mysite, в якому зберігаються файли для налаштування нашого сайту. Так, у файлі settings.py можна задати будь-які установки щодо його функціонування та адресації. Тут всі установки зберігаються у форматі: параметр = значення. Для перегляду частини вмісту цього файлу наберемо в терміналі:
$ nano mysite/settings.py
Для створення бази даних сайту скористаємося командою:
$ python manage.py migrate
При цьому буде створено базу типу sqlite3, яку встановлено за замовчуванням у файлі settings.py. Відповідний код файлу settings.py можна побачити на скріншоті нижче.
У цьому файлі можна встановити, наприклад, такі параметри: мову сайту (параметр LANGUAGE_CODE); адреси статичних файлів (параметр STATIC_ROOT); адресу хоста (параметр ALLOWED_HOSTS) і зробити багато інших параметрів для сайту.
Як перевірити інсталяцію Django на сервері
Дізнатися, чи встановлена на сервері програма Django, і яка її версія, можна різними способами. Найпростіший із них – ввести команду django-admin з відповідним параметром:
$ django-admin version
Ми бачимо, що програма встановлена і її версія – Django 3.2.15.
Для запуску в Інтернеті нашого проекту на Django, який нами вже був налаштований за допомогою файлу settings.py, необхідно виконати наступне:
- Перейти до директорії djangogirls і активувати віртуальне оточення;
- Запустити веб-сервер;
- Набрати адресу проекту в браузері.
Активація віртуального оточення. Перейдемо до каталогу програми та наберемо у терміналі:
$ source myvenv/bin/activate
Активація пройшла успішно.
Запуск веб-сервера
Для запуску веб-сервера скористаємося наступною командою:
$ python manage.py runserver 0:8000
Сервер успішно запущено.
Щоб проект був доступний за IP - адресою, відкриваємо файл з налаштуваннями
$ vim djangogirls/mysite/mysite/settings.py
Шукаємо у файлі параметр ALLOWED_HOSTS і навпроти нього вказуємо адресу сервера з вашим проектом.
Перегляд проекту у браузері
Для цього наберемо в адресному рядку браузера IP-адресу нашого сервера і порт, та відкриємо сторінку:
http://1.1.1.1:8000/
Ми бачимо, що наш проект Django запрацював. Наразі можна займатися його розвитком.
Якщо у вас виникли додаткові запитання, щодо встановлення проекту на наших серверах, зверніться будь ласка до технічної підтримки з особистого кабінету компанії Гіперхост, ми з радістю допоможемо підняти ваш проект.