JavaRush /Курси /Модуль 3: Django /Запуск локального сервера

Запуск локального сервера

Модуль 3: Django
Рівень 1 , Лекція 7
Відкрита

Налаштування локального сервера — це обов’язковий етап у розробці кожного веб-застосунку. Локальний сервер дозволяє вам побачити ваш застосунок в дії, протестувати функціонал та побачити внесені зміни в реальному часі. Це як "тестова кухня" для вашого коду, де ви можете експериментувати, ламати і виправляти все, що завгодно, без ризику зіпсувати щось у реальному, бойовому проєкті.

Локальний сервер — це як ваш особистий симулятор: ви, як пілот, можете тренуватися керувати складним веб-літаком, не ризикуючи справжніми пасажирами (користувачами).

Як працює локальний сервер?

Коли ти запускаєш локальний сервер у 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 готовий до роботи.

Django Welcome Page

Робота з портами та 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 в дії, наступне велике завдання — це почати розробляти перший застосунок. Але про це ми поговоримо трохи пізніше!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ