Установка Django 3.0 на Ubuntu 20.04
Важно: этот гайд рассчитан на Ubuntu 20.04 с Python 3 по умолчанию. Для продакшна используйте виртуальные окружения, выключайте DEBUG и настраивайте HTTPS.

О чём эта статья
Django — веб‑фреймворк на Python, реализующий подход MVC (в Django часто говорят «MTV» — Model, Template, View). Он помогает быстро разрабатывать сайты и содержит встроенные механизмы защиты от распространённых уязвимостей: SQL‑инъекций, XSS, CSRF и clickjacking.
В этом руководстве вы узнаете:
- как подготовить Python и pip на Ubuntu 20.04;
- четыре способа установки Django (apt, pip, virtualenv, git);
- как создать и запустить простой проект;
- рекомендации по безопасности, отладке и развёртыванию.
Требования и термины в одну строку
- Ubuntu 20.04 — операционная система; Python 3 — интерпретатор; pip — менеджер пакетов Python; virtualenv — инструмент для создания изолированных окружений.
Что нужно подготовить
- Сервер или рабочая машина с Ubuntu 20.04;
- Доступ к терминалу с правами sudo;
- Подключение к Интернету для загрузки пакетов.
Шаг 1 — Настройка Python и pip
Ubuntu 20.04 по умолчанию содержит Python 3. Команда “python” может отсутствовать и использоваться как “python3”. Проверим:
pythonЕсли получаете ошибку вроде:
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3создайте альтернативу, чтобы команда python ссылалась на python3:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1Проверьте версию:
python --versionОжидаемый вывод (пример):
Python 3.8.2Далее установим pip — менеджер пакетов для Python:
sudo apt update
sudo apt install python3-pip -yСделаем pip по умолчанию:
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
pip --versionПример вывода:
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Примечание: в некоторых окружениях предпочтительнее не менять системные ссылки и вызывать python3/pip3 напрямую.
Шаг 2 — Установка Django Framework
Существует несколько способов установки Django. Ниже — подробное описание каждого с плюсами и минусами.
Установка через apt
Ubuntu 20.04 содержит пакет python3-django в официальном репозитории. Его установка простая, но версия может быть не самой свежей.
Проверим пакет:
apt show python3-djangoУстановим:
sudo apt install python3-django -yПроверка версии:
django-admin --version
Плюсы:
- простая установка и поддержка обновлений через apt;
- интеграция с системным Python.
Минусы:
- часто устаревшая версия;
- 적용ение для продакшна ограничено из-за версий библиотек.
Установка через pip (PyPI)
Установка через pip даёт гибкость: вы выбираете конкретную версию Django.
Установка Django 3.0:
pip install django==3.0.0Проверка:
django-admin --versionАльтернативная проверка в интерактивном режиме Python:
python
import django
print(django.get_version())
Плюсы:
- контроль версии;
- подходит для разработки;
Минусы:
- глобальная установка может конфликтовать с системными пакетами. Рекомендуется virtualenv.
Установка с использованием virtualenv (рекомендуется)
virtualenv создаёт изолированное окружение Python. Это лучший выбор для разработки и развёртывания.
Установка virtualenv:
pip install virtualenvСоздание окружения и активация:
virtualenv myenv
cd myenv/
source bin/activateУстановка Django внутри окружения:
pip install django==3.0.0Проверка:
django-admin --versionВыход из окружения:
deactivate
Плюсы:
- изоляция зависимостей по проектам;
- можно использовать разные версии Python и Django на одной машине.
Минусы:
- требует дополнительного шага активации; нельзя забывать обновлять зависимости (requirements.txt).
Установка из репозитория Git (разработка)
Если нужен девелоперский (master/develop) код Django:
sudo apt install git -y
virtualenv django-git
cd django-git/
source bin/activate
git clone git://github.com/django/django django-dev
pip install -e django-devПроверка:
django-admin --version
Преимущества:
- доступ к последним изменениям и фиксам;
- возможность вносить правки в код фреймворка.
Ограничения:
- нестабильность, возможны регрессы; не рекомендуется для продакшна.
Сравнение методов
| Метод | Простота | Контроль версии | Изоляция | Подходит для продакшна |
|---|---|---|---|---|
| apt | +++ | + | — | частично |
| pip (глобально) | ++ | +++ | — | нет |
| virtualenv + pip | ++ | +++ | +++ | да |
| git (dev) | ++ | +++ (bleeding edge) | + | нет (для prod) |
Шаг 3 — Создание первого проекта Django
Рекомендуется выполнять создание проекта внутри virtualenv.
Создадим окружение и установим Django 3.0:
virtualenv myproject
cd myproject/
source bin/activate
pip install django==3.0.0Создадим проект mysite:
django-admin startproject mysiteПерейдём в каталог проекта и посмотрим структуру:
cd mysite/; treeРедактируем settings.py:
vim mysite/settings.pyДобавьте IP/хост сервера в ALLOWED_HOSTS:
ALLOWED_HOSTS = ["your-server-ip"]Сделаем миграции по умолчанию (SQLite):
python manage.py migrateСоздадим суперпользователя администратора:
python manage.py createsuperuserСледуйте инструкциям для ввода имени, email и пароля.

Шаг 4 — Запуск проекта
Запустим встроенный dev‑сервер (для разработки):
python manage.py runserver 0.0.0.0:8000Откройте в браузере http://




Рекомендации по безопасности и развёртыванию
- Выключите DEBUG в settings.py перед развёртыванием: DEBUG = False.
- Обязательно заполните ALLOWED_HOSTS реальными доменами/IP.
- Храните SECRET_KEY в переменных окружения, а не в репозитории.
- Для продакшна не используйте встроенный runserver — применяйте WSGI/ASGI (Gunicorn, uWSGI, Daphne) за обратным прокси (Nginx).
- Включите HTTPS и HSTS.
- Настройте бэкапы базы данных.
Пример запуска с Gunicorn и Nginx — краткая последовательность:
- Установите gunicorn в виртуальном окружении: pip install gunicorn.
- Создайте systemd‑сервис для gunicorn, который запускает приложение.
- Настройте Nginx как обратный прокси и проксируйте запросы на socket или порт gunicorn.
- Получите сертификат TLS (например, Let’s Encrypt).
Важно: настройки зависят от специфики проекта. Для критичных систем привлекайте инженера по безопасности.
Типичные ошибки и как их исправить
- “django-admin: command not found” — проверьте, активировано ли virtualenv, и что django установлен в текущем окружении.
- “ModuleNotFoundError: No module named ‘django’” — вы не в том окружении, установите или активируйте virtualenv.
- Ошибка с ALLOWED_HOSTS — добавьте хост/IP в ALLOWED_HOSTS или временно установите Debug для диагностики.
- Проблемы с базой данных — проверьте настройки DATABASES в settings.py и права пользователя базы.
Что выбрать: apt, pip, virtualenv или git — метод-помощник
Если цель — быстро проверить фреймворк на тестовой машине — apt подойдёт. Если нужен контроль над версией и повторяемость — используйте virtualenv + pip. Если вам нужен последний код для разработки фреймворка — git.
Mermaid‑дерево решений:
flowchart TD
A[Нужно установить Django?] --> B{Для чего}
B -->|Тест/демо| C[apt]
B -->|Проект| D[virtualenv + pip]
B -->|Разработка самого Django| E[git + pip -e]
D --> F[Создать requirements.txt и репозиторий]Чек-лист ролей
Разработчик:
- Создать виртуальное окружение;
- Зафиксировать версии в requirements.txt;
- Убедиться, что DEBUG отключён в продакшне;
- Написать миграции и протестировать их.
Системный администратор / DevOps:
- Настроить systemd‑сервис для gunicorn/uWSGI;
- Настроить Nginx и HTTPS;
- Настроить бэкапы базы и файлов;
- Настроить мониторинг и логирование.
Контролёр качества (QA):
- Проверить, что админка доступна;
- Проверить основные вьюхи и формы на CSRF/XSS;
- Прогнать миграции на чистой БД.
Советы по совместимости и миграции
- Django 3.0 требует Python 3.6 и выше. На Ubuntu 20.04 Python 3.8 доступен по умолчанию.
- При переходе между версиями Django проверьте изменения в release notes и тестируйте приложение.
- Используйте миграции (python manage.py makemigrations + migrate) и храните их в системе контроля версий.
Мини‑методология выбора и развёртывания
- Определите требования проекта: версия Django, СУБД, требования безопасности.
- Создайте reproducible environment: virtualenv/venv + requirements.txt.
- Разверните staging, выполните тесты и нагрузочные проверки.
- Перенесите на production с использованием WSGI/ASGI и обратного прокси.
Краткий словарь (1‑строчные определения)
- virtualenv — инструмент для создания изолированных Python‑окружений.
- pip — менеджер пакетов Python.
- runserver — встроенный в Django сервер разработки.
- gunicorn/uWSGI — WSGI‑серверы для продакшна.
Часто задаваемые вопросы
Какую версию Python требуется для Django 3.0?
Django 3.0 поддерживает Python 3.6 и выше. На Ubuntu 20.04 доступен Python 3.8.
Можно ли использовать apt для продакшн‑развёртывания?
apt удобен для простоты, но пакет может быть устаревшим. Для продакшна рекомендуется virtualenv + pip с фиксированными версиями.
Как хранить секреты (SECRET_KEY, пароли БД)?
Не храните секреты в settings.py в репозитории. Используйте переменные окружения, vault‑решения или файлы конфигурации с ограниченным доступом.
Краткое резюме
Вы узнали, как установить Django 3.0 на Ubuntu 20.04 четырьмя способами, как создать и запустить проект и какие шаги предпринять для безопасного развёртывания. На практике рекомендуют virtualenv + pip для изоляции и контроля версий.
Краткое руководство для копирования шагов:
- sudo apt update && sudo apt install python3-pip python3-venv -y
- python3 -m venv myenv && source myenv/bin/activate
- pip install django==3.0.0
- django-admin startproject mysite
- cd mysite && python manage.py migrate && python manage.py createsuperuser
- python manage.py runserver 0.0.0.0:8000
Небольшая памятка: для продакшна замените runserver на gunicorn/uWSGI, настройте Nginx и включите HTTPS.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента