Если у тебя древняя Ubuntu 18.04 и ты решил поставить на неё Django, забудь про глобальную установку через apt. Да, там есть пакет python3-django, но он обычно на пару версий отстаёт от актуального, и потом будешь материться, когда документация и код начнут расходиться с тем, что у тебя стоит.
Правильный путь — виртуальная среда. Виртуалка для Python — это такой песочница-бункер, где можно творить, не боясь снести соседям забор.
1. Проверяем Python и ставим venv
В 18.04 по умолчанию стоит Python 3.6. Проверим:
python3 -V
Дальше ставим venv, чтобы делать виртуальные окружения:
sudo apt install python3-venv
2. Создаём проект и виртуалку
Выбираем папку, где будет жить проект, и создаём директорию:
mkdir my_django_app
cd my_django_app
Там же делаем виртуальную среду:
python3 -m venv venv
Активируем:
source venv/bin/activate
Если в консоли перед курсором появилось (venv), значит, ты в песочнице. Всё, что сейчас ставишь — попадёт сюда, а не в систему.
3. Ставим Django через pip
pip install django
Проверяем:
python -m django --version
4. Создаём проект Django
django-admin startproject mydjangoapp
Дальше структура будет примерно такая:
mydjangoapp/
manage.py
mydjangoapp/
__init__.py
settings.py
urls.py
wsgi.py
manage.py — твой нож, молоток и отвёртка в одном.
5. Миграции и админ
Заходим в папку проекта:
cd mydjangoapp
Делаем миграции (создаём базу):
python manage.py migrate
Создаём админа:
python manage.py createsuperuser
Введёшь логин, почту и пароль.
6. Тестовый сервер
python manage.py runserver
В браузере открываешь http://127.0.0.1:8000 — должна появиться приветственная страница Django.
Админка по адресу: http://127.0.0.1:8000/admin/. Логинишься теми данными, что ввёл для суперпользователя.
Сервер останавливается CTRL+C.
7. Выход из виртуалки
deactivate
Вернулся в обычный шелл — теперь Django живёт в своём мире и не лезет в чужие.
Итог
На Ubuntu 18.04 Django ставь только в виртуалку, чтобы не устраивать себе мини-ад в будущем. Захочешь новый проект на другой версии — просто делаешь новое окружение. Чисто, изолированно, без головняка.
0 комментариев