fix: разрешить копирование config/nginx в Docker (нужен для production)
Some checks failed
Build and Push PetClones-site / build-and-push (push) Failing after 1m25s
Some checks failed
Build and Push PetClones-site / build-and-push (push) Failing after 1m25s
- Удалено исключение config/ из .dockerignore - config/nginx/pet-clones--external-nginx.conf требуется для Docker образа - Используется в docker-compose.prod.yml для настройки nginx reverse-proxy
This commit is contained in:
@@ -113,7 +113,6 @@ staticfiles/css/brands.css
|
||||
staticfiles/css/all.css
|
||||
|
||||
# Прочее
|
||||
config/
|
||||
.editorconfig
|
||||
*.md
|
||||
|
||||
|
||||
188
DEVELOPMENT.md
188
DEVELOPMENT.md
@@ -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`)
|
||||
|
||||
Reference in New Issue
Block a user