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
|
staticfiles/css/all.css
|
||||||
|
|
||||||
# Прочее
|
# Прочее
|
||||||
config/
|
|
||||||
.editorconfig
|
.editorconfig
|
||||||
*.md
|
*.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