diff --git a/.dockerignore b/.dockerignore index 1bf2cee..fd337f6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -113,7 +113,6 @@ staticfiles/css/brands.css staticfiles/css/all.css # Прочее -config/ .editorconfig *.md diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md deleted file mode 100644 index 87741ae..0000000 --- a/DEVELOPMENT.md +++ /dev/null @@ -1,188 +0,0 @@ -# Rosmorport Test Project - Setup для локальной разработки - -Проект на Django 5.0.4 с использованием Poetry для управления зависимостями. - -## Предварительные требования - -- **Python** 3.12 или выше -- **Poetry** 1.7 или выше ([установка](https://python-poetry.org/docs/#installation)) - -## Быстрый старт - -### 1️⃣ Установка зависимостей - -```bash -# Перейти в корневую директорию проекта -cd /Users/e-serg/PRJ/2024-test-rosmorport - -# Установить все зависимости через poetry -poetry install -``` - -### 2️⃣ Настройка окружения - -Файл `.env` уже создан с базовыми настройками для разработки: - -```bash -# Можешь проверить текущие настройки -cat .env - -# При необходимости отредактируй .env (но для разработки обычно не требуется) -# nano .env -``` - -### 3️⃣ Инициализация БД - -```bash -# Перейти в директорию 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️⃣ Запуск приложения - -```bash -# Запустить 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 команды - -```bash -# Создать новое приложение -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 команды - -```bash -# Добавить новый пакет -poetry add package_name - -# Добавить пакет только для разработки -poetry add --group dev package_name - -# Обновить зависимости -poetry update - -# Посмотреть установленные пакеты -poetry show -``` - -## 🌍 Переменные окружения - -Все настройки хранятся в файле `.env`. Основные переменные: - -```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" -**Решение**: Используй другой порт: -```bash -poetry run python manage.py runserver 0.0.0.0:8001 -``` - -### Ошибка: "No module named 'django'" -**Решение**: Убедись что выполнил `poetry install` в корневой директории проекта. - -### БД не обновляется -**Решение**: Выполни миграции: -```bash -poetry run python manage.py migrate -``` - -## 📝 Дополнительная информация - -- [Django документация](https://docs.djangoproject.com/) -- [Poetry документация](https://python-poetry.org/docs/) -- [PEP 8 - Python Style Guide](https://pep8.org/) - -## 👤 Автор - -Сергей Еремин (e-serg@mail.ru) - ---- - -**Статус**: ✅ Готово к локальной разработке -**Следующий шаг**: Контейнеризация (смотри `DOCKER.md`) -