Files
2024-test-rosmorport/DEVELOPMENT.md
erjemin d9e8c2d8bd feat: Настройка проекта для локальной разработки
- Добавлена конфигурация через poetry (pyproject.toml + poetry.lock)
- Переделана система конфигурации Django с .env переменными
- Добавлен файл .env для локальной разработки (SQLite БД)
- Обновлен settings.py для работы с переменными окружения
- Создана документация по локальной разработке (DEVELOPMENT.md)
- Подготовлена инфраструктура для Docker (Dockerfile, docker-compose.yml)
- Обновлен .gitignore для Python/Django проекта
Проект работает локально с миграциями и админ пользователем (admin/1234).
2026-03-31 00:09:46 +03:00

6.1 KiB
Raw Blame History

Rosmorport Test Project - Setup для локальной разработки

Проект на Django 5.0.4 с использованием Poetry для управления зависимостями.

Предварительные требования

Быстрый старт

1 Установка зависимостей

# Перейти в корневую директорию проекта
cd /Users/e-serg/PRJ/2024-test-rosmorport

# Установить все зависимости через poetry
poetry install

2 Настройка окружения

Файл .env уже создан с базовыми настройками для разработки:

# Можешь проверить текущие настройки
cat .env

# При необходимости отредактируй .env (но для разработки обычно не требуется)
# nano .env

3 Инициализация БД

# Перейти в директорию Django проекта
cd rosmorport_tsts

# Выполнить миграции (создаст db.sqlite3)
poetry run python manage.py migrate

# Создать суперпользователя (админ пользователь)
poetry run python manage.py shell << 'EOF'
from django.contrib.auth.models import User
u = User.objects.get_or_create(username='admin', defaults={'email': 'admin@example.com'})[0]
u.set_password('1234')
u.save()
print("Admin user: admin / 1234")
EOF

4 Запуск приложения

# Запустить development сервер
poetry run python manage.py runserver 0.0.0.0:8000

Откройся в браузере: http://localhost:8000

Админ панель: http://localhost:8000/admin

  • Логин: admin
  • Пароль: 1234

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

rosmorport_tsts/
├── manage.py                      # Django управление
├── db.sqlite3                     # БД (создаётся после migrate)
├── public/
│   ├── static/                    # Статические файлы (CSS, JS, images)
│   └── media/                     # Загруженные пользователем файлы
├── logs/                          # Логи приложения
├── rosmorport_tsts/
│   ├── settings.py                # Конфигурация Django
│   ├── urls.py                    # URL маршруты
│   ├── views.py                   # Представления
│   ├── models.py                  # Модели данных
│   ├── wsgi.py                    # WSGI приложение
│   └── _my_secret__sample.py      # Образец файла для secrets (не использовать)
├── templates-django/              # Django шаблоны
└── ...

🔧 Полезные команды

Django команды

# Создать новое приложение
poetry run python manage.py startapp app_name

# Создать миграцию
poetry run python manage.py makemigrations

# Применить миграции
poetry run python manage.py migrate

# Django shell (для тестирования ORM)
poetry run python manage.py shell

# Собрать статические файлы (для production)
poetry run python manage.py collectstatic

# Запустить тесты
poetry run python manage.py test

Poetry команды

# Добавить новый пакет
poetry add package_name

# Добавить пакет только для разработки
poetry add --group dev package_name

# Обновить зависимости
poetry update

# Посмотреть установленные пакеты
poetry show

🌍 Переменные окружения

Все настройки хранятся в файле .env. Основные переменные:

# Режим разработки
DEBUG=True

# Хосты для доступа
ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0

# Секретный ключ Django
SECRET_KEY=django-insecure-local-dev-secret-key

# База данных (SQLite для разработки)
DB_ENGINE=django.db.backends.sqlite3
DB_NAME=db.sqlite3

Для production используй:

  • PostgreSQL: раскомментируй строки с DB_ENGINE=django.db.backends.postgresql
  • MySQL: раскомментируй строки с DB_ENGINE=django.db.backends.mysql

🐳 Docker (для контейнеризации)

После того как всё будет работать локально, смотри DOCKER.md для инструкций по контейнеризации.

🚨 Troubleshooting

Ошибка: "Не найдена переменная окружения SECRET_KEY"

Решение: Убедись что .env файл существует в корневой директории проекта.

Ошибка: "port 8000 already in use"

Решение: Используй другой порт:

poetry run python manage.py runserver 0.0.0.0:8001

Ошибка: "No module named 'django'"

Решение: Убедись что выполнил poetry install в корневой директории проекта.

БД не обновляется

Решение: Выполни миграции:

poetry run python manage.py migrate

📝 Дополнительная информация

👤 Автор

Сергей Еремин (e-serg@mail.ru)


Статус: Готово к локальной разработке Следующий шаг: Контейнеризация (смотри DOCKER.md)