Настройка локального сервера — это обязательный этап в разработке каждого веб-приложения. Локальный сервер позволяет вам увидеть ваше приложение в действии, протестировать функционал и увидеть внесённые изменения в реальном времени. Это как "тестовая кухня" для вашего кода, где вы можете экспериментировать, ломать и чинить всё, что угодно, без риска испортить что-то в реальном, боевом проекте.
Локальный сервер — это как ваш личный симулятор: вы как пилот можете тренироваться управлять сложным веб-самолётом, не рискуя настоящими пассажирами (пользователями).
Как работает локальный сервер?
Когда вы запускаете локальный сервер в 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 в действии, следующая большая задача — это начать разрабатывать первое приложение. Но об этом мы поговорим немного позже!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ