Налаштування локального сервера — це обов’язковий етап у розробці кожного веб-застосунку. Локальний сервер дозволяє вам побачити ваш застосунок в дії, протестувати функціонал та побачити внесені зміни в реальному часі. Це як "тестова кухня" для вашого коду, де ви можете експериментувати, ламати і виправляти все, що завгодно, без ризику зіпсувати щось у реальному, бойовому проєкті.
Локальний сервер — це як ваш особистий симулятор: ви, як пілот, можете тренуватися керувати складним веб-літаком, не ризикуючи справжніми пасажирами (користувачами).
Як працює локальний сервер?
Коли ти запускаєш локальний сервер у Django, він починає слухати певний порт на твоєму комп'ютері, обробляти HTTP-запити та повертати відповідні відповіді. У реальному житті твій сервер працюватиме на віддаленій машині та оброблятиме запити з інтернету, але на етапі розробки ми використовуємо локальний сервер для тестування.
Django надає вбудований сервер розробки, який запускається за допомогою команди runserver. Отже, переходимо від теорії до практики!
Запуск локального сервера в Django
Крок 1: Відкриваємо термінал
Для початку відкрийте термінал або командний рядок у папці вашого проєкту Django. Переконайтеся, що ви знаходитеся в кореневій директорії проєкту, де розташовано файл manage.py.
Приклад:
~/myproject$ ls
manage.py myproject/ db.sqlite3
Якщо файл manage.py не видно, ви, скоріш за все, заблукали в директоріях. Переходьте назад у папку з проєктом!
Крок 2: Активація віртуального оточення
Ми налаштували віртуальне оточення в одній з попередніх лекцій. Тепер нам потрібно його активувати, щоб використовувати встановлені залежності, включаючи Django.
Linux/macOS:
source venv/bin/activate
Windows (PowerShell):
venv\Scripts\Activate
Після активації віртуального оточення на початку рядка вашого термінала має з'явитися його назва (наприклад, venv).
Крок 3: Запуск сервера
Тепер, коли віртуальне оточення активовано, ми можемо запустити локальний сервер. Для цього виконайте наступну команду:
python manage.py runserver
Після виконання цієї команди ви побачите приблизно таке повідомлення:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
Django version 4.x.x, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Розберемо його по частинах:
- Watching for file changes... — Django автоматично відстежує зміни у ваших файлах і перезапускає сервер, якщо щось змінюється.
- System checks passed — усе готово до роботи, помилок у налаштуваннях проєкту немає.
- Running at http://127.0.0.1:8000/ — це означає, що ваш сервер доступний за вказаною адресою. Ми до нього повернемося трохи пізніше.
- Quit the server with CONTROL-C — для зупинки сервера використовуйте комбінацію клавіш
Ctrl+C.
Крок 4: Відкриваємо проєкт у браузері
Відкрийте браузер (наприклад, Chrome, Firefox або Safari) і в адресному рядку введіть:
http://127.0.0.1:8000/
Якщо ви все зробили правильно, то побачите привітальну сторінку Django з повідомленням "The install worked successfully! Congratulations!". Це означає, що сервер запущено, налаштування проєкту коректні, і Django готовий до роботи.

Робота з портами та IP-адресами
За замовчуванням Django запускає сервер на IP-адресі 127.0.0.1 (це localhost, або твій локальний комп'ютер) і порту 8000. Але що, якщо ці налаштування тобі не підходять?
Зміна порту
Щоб запустити сервер на іншому порту, просто вкажи його в кінці команди runserver:
python manage.py runserver 8080
Сервер тепер буде доступний за адресою:
http://127.0.0.1:8080/
Зміна IP-адреси
Якщо ти хочеш протестувати сервер з іншого пристрою в твоїй локальній мережі, заміни IP-адресу на 0.0.0.0. Це зробить сервер доступним з мережі:
python manage.py runserver 0.0.0.0:8000
Тепер ти можеш зайти на сервер з іншого пристрою, використовуючи IP-адресу твого комп'ютера (наприклад, 192.168.0.101:8000).
Часті помилки при запуску сервера
Помилка 1: "Address already in use: 8000"
Якщо ви бачите повідомлення про помилку типу:
OSError: [Errno 98] Address already in use: ('127.0.0.1', 8000)
Це означає, що порт 8000 вже зайнятий. Можливо, ви забули зупинити попередній запуск сервера. Щоб вирішити проблему, або завершіть процес, який використовує цей порт, або запустіть сервер на іншому порту:
python manage.py runserver 8080
Помилка 2: "Command not found" або "ModuleNotFoundError: No module named 'django'"
Ці помилки можуть виникнути, якщо ви забули активувати віртуальне середовище або взагалі не встановили Django. Перевірте, чи активоване середовище, і використовуйте:
pip install django
Помилка 3: "Settings module not found"
Якщо ви бачите повідомлення типу:
django.core.exceptions.ImproperlyConfigured: Requested settings 'settings' are not configured
Це означає, що Django не може знайти файл налаштувань. Переконайтеся, що ви перебуваєте в папці проєкту і використовуєте правильний файл manage.py. Якщо налаштування проєкту знаходяться не в стандартному місці, вкажіть їх явно:
python manage.py runserver --settings=myproject.settings
Гаряче перезавантаження (Hot-Reload)
Один із найзручніших моментів роботи з локальним сервером Django — це гаряче перезавантаження. Коли ви вносите зміни в код застосунку, сервер автоматично перезапускається. Наприклад, якщо ви додасте новий маршрут або оновите код представлення, сторінка одразу покаже новий результат після оновлення браузера.
Однак зміни у файлі settings.py можуть вимагати ручного перезавантаження сервера.
Для чого варто використовувати локальний сервер?
Локальний сервер — це незамінний інструмент для розробки. Ось кілька практичних сценаріїв його використання:
- Відлагодження: ви можете відстежувати помилки та попередження прямо в терміналі.
- Тестування нових функцій: вносьте зміни в код і одразу перевіряйте їх роботу.
- Робота з дизайном: підключайте CSS і JavaScript, редагуйте HTML-шаблони та дивіться, як вони виглядають у браузері.
Пам'ятайте, що вбудований сервер розробки підходить лише для локальної роботи. Для продакшн-середовища він не годиться (у майбутньому ви будете використовувати сервери, такі як Gunicorn або uWSGI).
Тепер, коли ви запустили локальний сервер і побачили Django в дії, наступне велике завдання — це почати розробляти перший застосунок. Але про це ми поговоримо трохи пізніше!
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ