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 в действии, следующая большая задача — это начать разрабатывать первое приложение. Но об этом мы поговорим немного позже!

1
Задача
Модуль 3: Django, 1 уровень, 7 лекция
Недоступна
Запуск локального сервера
Запуск локального сервера
1
Задача
Модуль 3: Django, 1 уровень, 7 лекция
Недоступна
Запуск локального сервера с доступом в сеть
Запуск локального сервера с доступом в сеть
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Ivan Уровень 59
22 июня 2025
Что ни задание - сплошной '/Achtung!!!'