Django-проект для администрирования
- Python 3.12 или выше
- Git
# Клонирование репозитория
git clone https://github.com/your-username/admin2.git
cd admin2
# Установка uv
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Создание виртуального окружения
uv venv
# Активация виртуального окружения
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
# Установка зависимостей для разработки
uv sync --all-groups
# (При необходимости) Не устанавливать зависимости для разработки
uv sync --no-dev
# Настройка базы данных
uv run manage.py migrate
# Запуск сервера разработки
uv run manage.py runserverПроект использует uv для управления зависимостями. Основные команды:
uv sync- установка только основных зависимостейuv sync --all-groups- установка всех зависимостей, включая инструменты разработкиuv sync --no-dev- установка только основных зависимостей без инструментов разработкиuv sync --group dev- установка основных зависимостей и группы dev
Проект поддерживает два окружения: staging (разработка) и production (продакшн). Каждое окружение имеет свои настройки и подключается к разным базам данных.
- Создайте файлы
.env.stagingи.env.productionна основе.env.example:
# .env.staging
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=True
DJANGO_ENVIRONMENT=staging
STAGING_CLICKHOUSE_HOST=staging_ip
STAGING_CLICKHOUSE_USER=staging_user
STAGING_CLICKHOUSE_PASSWORD=staging_password
# .env.production
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=False
DJANGO_ENVIRONMENT=production
PROD_CLICKHOUSE_HOST=prod_ip
PROD_CLICKHOUSE_USER=prod_user
PROD_CLICKHOUSE_PASSWORD=prod_password
- Добавьте функцию
setdjangoenvв ваш PowerShell профиль (см.docs/commands.md).
-
Разработка в окружении staging:
# Переключение на окружение staging setdjangoenv staging # Разработка и тестирование в staging uv run manage.py runserver
-
Тестирование в окружении production:
# Переключение на окружение production setdjangoenv production # Тестирование в production uv run manage.py runserver
-
Работа с миграциями базы данных:
# Создание миграций в staging setdjangoenv staging uv run manage.py makemigrations # Применение миграций в staging uv run manage.py migrate # Применение миграций в production (после тестирования в staging) setdjangoenv production uv run manage.py migrate
Этот подход позволяет безопасно разрабатывать и тестировать функциональность в окружении staging, прежде чем применять изменения в production.
Конечно, вот краткое и понятное описание на русском языке для вашего README.md:
Для автоматической проверки и форматирования кода перед каждым коммитом используем pre-commit.
pre-commit installЭта команда настроит Git-хук, который будет запускать проверки при каждом коммите.
pre-commit run --all-filesПолезно для запуска всех хуков сразу, например, после клонирования проекта или перед пушем.
Проект организован в соответствии с принципами модульных Django-приложений:
core- базовые компоненты и утилитыaccounts- управление пользователями и аутентификацияcross_dock- модуль для отчета по кросс-доку