Гид по технологиям

Установка Django 2.0.5 на Ubuntu 18.04 — пошаговое руководство

• 8 min read • DevOps • Обновлено 23 Nov 2025
Установка Django 2.0.5 на Ubuntu 18.04
Установка Django 2.0.5 на Ubuntu 18.04

Почему это руководство

Django — это фреймворк для веб-приложений на языке Python, который ускоряет создание стабильных и безопасных сервисов. Здесь вы получите практическую последовательность команд и проверенные рекомендации для локальной разработки и простого развёртывания на сервере.

Краткое содержание

  • Требования и подготовка системы
  • Настройка Python 3 как системного python
  • Три метода установки Django: pip, virtualenv, из Git
  • Создание первого проекта, запуск и администрирование
  • Практические советы по безопасности, отладке и развёртыванию
  • Чек-листы для ролей и тесты приёмки

Предпосылки

  • Ubuntu 18.04 64-bit
  • Доступ root или пользователь с sudo
  • Базовые навыки работы в терминале

Что нужно знать заранее

  • Django упрощает работу с базами, маршрутами и шаблонами. Определение: virtualenv — инструмент для создания изолированных окружений Python.

Шаг 1 — Настройка Python 3 на Ubuntu 18.04

По умолчанию на многих системах Ubuntu может присутствовать python2.7 и python3. В этом руководстве будем использовать python3 как системный python, чтобы команды и пакеты запускались ожидаемо.

Проверьте текущую версию python:

python --version

Если система указывает на python 2.7, можно переключить альтернативы на python3 командой:

update-alternatives --install /usr/bin/python python /usr/bin/python3 1

Проверьте снова:

python --version

Теперь по умолчанию будет возвращаться python 3.x, обычно 3.6 на Ubuntu 18.04.

Важно: в свежих установках Ubuntu команда ‘python’ может отсутствовать, а используется ‘python3’. Если вы не хотите менять системный бинари, используйте явно ‘python3’ и ‘pip3’.

Шаг 2 — Установка Django

Ниже перечислены три способа установки. Выберите только один для конкретного окружения: глобальная установка для всех пользователей, установка в изолированном virtualenv для проектов или установка из исходников для разработки фреймворка.

2.1 Установка Django через pip (быстро, глобально для пользователя)

pip — менеджер пакетов Python, который использует репозиторий PyPI. Для начала установим pip для Python 3:

sudo apt install python3-pip -y

После установки появится бинарник pip3. Для удобства можно создать символьную ссылку pip -> pip3:

which pip3
ln -s /usr/bin/pip3 /usr/bin/pip

Проверьте версию pip:

pip --version

Установка Django через pip

Установим Django 2.0.5 конкретной версией:

pip install Django==2.0.5

Примечание: указывая версию, вы получаете воспроизводимую среду. Если нужна последняя ветка 2.x, можно установить Django==2.* или без указания версии для получения последней доступной версии.

Если возникает ошибка с локалью — настройте её:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales

Проверьте установку:

django-admin --version

Или через Python:

python
import django
print(django.get_version())

Django 2.0.5 установлена

Когда использовать этот подход

  • На тестовой виртуальной машине, где глобальные пакеты допустимы.
  • Для быстрой проверки совместимости или запуска демо.

Ограничения

  • Глобальная установка может привести к конфликтам между проектами.
  • Рекомендуется избегать для продакшна.

2.2 Установка Django внутри virtualenv (рекомендовано для разработки)

virtualenv помогает создать изолированное окружение Python, где можно фиксировать версии пакетов для каждого проекта.

Установим virtualenv через pip:

pip install virtualenv

Создадим окружение ‘env01’ с python3:

virtualenv --python=python3 env01

Активируем окружение:

cd env01/
source bin/activate

Теперь в активном окружении установим Django:

pip install django==2.0.5

Проверим:

django-admin --version

Установка Django в virtualenv

Когда использовать virtualenv

  • Для разработки нескольких проектов с разными зависимостями.
  • Для контроля версий пакетов и совместимости.

Альтернатива: venv (встроенный модуль в Python 3), pipenv и poetry предлагают продвинутую работу с зависимостями и управлением окружений.

2.3 Установка Django из Git репозитория (разработка фреймворка)

Если вы планируете править код Django или использовать девелоперскую ветку, удобнее установить пакет из локальной копии репозитория.

Установим git:

sudo apt install git -y

Создадим виртуальное окружение ‘git01’:

virtualenv --python=python git01
cd git01/
source bin/activate

Клонируем репозиторий Django и установим в editable режиме:

git clone git://github.com/django/django django-dev
pip install -e django-dev

Флаг -e устанавливает пакет в режиме разработки — изменения в исходниках будут сразу видны при импорте.

Проверьте версию:

django-admin --version

Установка Django из Git

Когда использовать этот подход

  • Вы хотите внести вклад в код Django.
  • Нужно тестировать последние изменения без выпуска релиза.

Шаг 3 — Создание первого проекта на Django

В этом разделе приведены шаги для создания проекта внутри virtualenv, запуска сервера разработки и настройки административной учётной записи.

Создадим окружение ‘django01’ и активируем его:

virtualenv --python=python django01
cd django01/
source bin/activate

Установим Django 2.0.5:

pip install Django==2.0.5

Создание первого проекта

Создадим проект ‘project01’:

django-admin startproject project01

Перейдём в каталог проекта и посмотрим структуру:

cd project01/
tree

Структура проекта Django

Откройте файл settings.py для редактирования и задайте ALLOWED_HOSTS с IP сервера (или доменом):

vim project01/settings.py

Найдите строку ALLOWED_HOSTS и измените на вашу машину:

ALLOWED_HOSTS = ['192.168.10.100']

Сохраните и закройте файл.

Запустим встроенный сервер разработки на конкретном IP и порте:

python manage.py runserver 192.168.10.100:8000

Откройте браузер на http://192.168.10.100:8000/ чтобы увидеть стартовую страницу Django.

Стартовый экран Django

Примечание: встроенный сервер предназначен только для разработки. Для публичного доступа используйте WSGI-серверы (gunicorn, uWSGI) и обратный прокси nginx.

Миграции и создание суперпользователя

Перед тем как использовать админку, примените миграции:

python manage.py migrate

Пояснение: migrate синхронизирует модели с базой данных, создавая таблицы и необходимые структуры. По умолчанию Django использует sqlite3 как локальную БД.

Создайте суперпользователя:

python manage.py createsuperuser

Пример ввода:

Username (leave blank to use 'root'): hakase
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.

Запустите сервер и перейдите в админку: http://192.168.10.100:8000/admin/

Вход в админку Django

Панель администратора Django

Практические рекомендации по безопасности и развёртыванию

Важно помнить, что инструкции выше ориентированы на разработку. Для продакшна минимальный набор действий:

  • Никогда не используйте встроенный runserver в продакшне.
  • Храните SECRET_KEY вне репозитория, например в переменных окружения или в защищённом хранилище.
  • Настройте DEBUG = False в settings.py для продакшна.
  • Настройте ALLOWED_HOSTS с точными доменами/IP.
  • Используйте HTTPS и конфигурацию TLS на уровне nginx/обратного прокси.
  • Логи и ротация — настраивайте системные логи и храните их централизованно.
  • Разграничивайте права на файловой системе, особенно для папок со статикой и медиа.

Совет по базе данных

  • На этапе продакшна используйте PostgreSQL или другую реляционную СУБД вместо sqlite3 для отказоустойчивости.
  • Разверните бэкапы и проверяйте процедуру восстановления.

Безопасность приложений

  • Используйте встроенные защиты Django: CSRF токены, escaping шаблонов (XSS), ORM-методы (защита от SQL Injection).
  • Подпишите и ограничьте доступ к административным страницам по IP или через VPN.

Отладка и типичные проблемы

  1. Проблемы с локалью — см. раздел выше с locale-gen.
  2. Ошибка импорта Django в виртуальном окружении — проверьте, что окружение активировано (source bin/activate)
  3. Конфликты версий пакетов — используйте requirements.txt или Pipfile для фиксации зависимостей.

Команды для отладки версий и окружения:

which python
which pip
pip freeze

Проверьте, что путь указывает на ваш виртуальный env01/bin/python, а не на системный.

Чек-листы по ролям

Чек-лист для разработчика

  • Создать виртуальное окружение для проекта
  • Зафиксировать зависимости в requirements.txt
  • Не хранить SECRET_KEY в репозитории
  • Проверить работу миграций на dev
  • Написать базовые тесты и прогоны CI

Чек-лист для администратора

  • Настроить систему логирования и мониторинга
  • Настроить gunicorn+nginx или uWSGI+nginx
  • Настроить бэкап базы данных
  • Настроить HTTPS и HSTS
  • Настроить ротацию логов

Миниметодика развёртывания на продакшн (высокоуровневая)

  1. Подготовить сервер: обновить ОС, установить зависимости (python3, pip, git, nginx)
  2. Создать системного пользователя для развертывания
  3. Настроить virtualenv и установить зависимости из requirements.txt
  4. Настроить WSGI-сервер (gunicorn), systemd unit для автозапуска
  5. Настроить nginx как обратный прокси, SSL, CORS/Headers
  6. Выполнить миграции и собрать статические файлы
  7. Проверить доступность, журнал ошибок, нагрузку

Тесты приёмки и критерии приёмки

Критерии приёмки

  • Сервер запускается и отвечает на HTTP-запросы на / с 200 OK
  • Админка доступна по /admin/ и возможен вход под созданным суперпользователем
  • Миграции применяются без ошибок
  • Статические файлы собираются и отдаются nginx

Примеры тест-кейсов

  • Шаги: активировать виртуальное окружение, запустить migrate, создать суперпользователя, запустить runserver, перейти в корень сайта → ожидаемый результат 200 OK
  • Негативный кейс: при отключённом окружении импорт django должен выдавать ошибку ImportError

Когда этот подход не подходит

  • Нужна высокая масштабируемость: используйте контейнеры (Docker/Kubernetes) и разделение сервисов
  • Если требуется строгая совместимость с новыми фичами Django, используйте проверенные LTS-релизы и тесты миграций

Альтернативы и расширения

  • Pipenv или poetry для управления зависимостями и виртуальными окружениями
  • Docker для изолированного и воспроизводимого развёртывания
  • Использование CI/CD для автоматического тестирования и развёртывания

Короткая галерея ошибочных сценариев и решения

  1. Ошибка ‘no module named django’ — активировать virtualenv или установить django в текущее окружение
  2. Ошибка при запуске runserver на публичном IP — убедиться, что в ALLOWED_HOSTS указан нужный IP/домен
  3. Проблемы с permission denied при работе со статикой — проверить права на папки и владельца процесса

Совместимость и миграция версий

  • Django 2.x ориентирован на Python 3 и не поддерживает Python 2
  • Для обновления между минорными версиями всегда читайте release notes и тестируйте миграции на staging до релиза в prod

Небольшая сводка по безопасности и GDPR (если вы храните пользовательские данные)

  • Обеспечьте шифрование пересылаемых данных (TLS)
  • Ограничьте доступ к административной панели
  • Храните логи и данные с учётом локальных требований к защите персональных данных
  • Предусмотрите процедуру удаления и анонимизации данных при запросах пользователей

Краткая памятка команд

sudo apt install python3-pip -y
pip install virtualenv
virtualenv --python=python3 env01
source env01/bin/activate
pip install Django==2.0.5
django-admin startproject project01
cd project01
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 192.168.10.100:8000

Итог

Django предоставляет быстрый и безопасный путь для создания веб-приложений на Python. В этом руководстве вы узнали три основных способа установки Django 2.0.5 на Ubuntu 18.04, создали первый проект, настроили админку и получили набор практических рекомендаций для перехода от разработки к продакшну.

Важно: для продакшна используйте изолированные окружения, надёжное хранение секретов и проверенные WSGI-компоненты. Тестируйте миграции и автоматизируйте развёртывание через CI/CD.

Полезные ссылки

  • Документация Django — официальный источник по API и практикам
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро