# Подключение PostgreSQL for 1C 18 к проекту Django Ниже готовый блок для Django под дефолтные значения из вашего `.env`: - пользователь: `admin_1c` - пароль: `StrongPassword123!` - база: `appdb` - хост: `127.0.0.1` - порт: `5432` ## Вариант 1. Быстро вставить прямо в `settings.py` ```python DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "appdb", "USER": "admin_1c", "PASSWORD": "StrongPassword123!", "HOST": "127.0.0.1", "PORT": "5432", } } ``` ## Вариант 2. Подтягивать из `.env` через `python-decouple` Установка: ```bash pip install python-decouple ``` Пример `.env` проекта Django: ```env DB_NAME=appdb DB_USER=admin_1c DB_PASSWORD=StrongPassword123! DB_HOST=127.0.0.1 DB_PORT=5432 ``` Пример `settings.py`: ```python from decouple import config DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": config("DB_NAME", default="appdb"), "USER": config("DB_USER", default="admin_1c"), "PASSWORD": config("DB_PASSWORD", default="StrongPassword123!"), "HOST": config("DB_HOST", default="127.0.0.1"), "PORT": config("DB_PORT", default="5432"), } } ``` ## Вариант 3. Подтягивать из `.env` без сторонних библиотек Если переменные окружения уже экспортируются в systemd / docker / shell, можно так: ```python import os DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": os.getenv("DB_NAME", "appdb"), "USER": os.getenv("DB_USER", "admin_1c"), "PASSWORD": os.getenv("DB_PASSWORD", "StrongPassword123!"), "HOST": os.getenv("DB_HOST", "127.0.0.1"), "PORT": os.getenv("DB_PORT", "5432"), } } ``` ## Если хотите использовать значения прямо из вашего серверного `.env` Обычно лучше не читать серверный `.env` установщика напрямую из Django, а завести отдельные переменные приложения: ```env DB_NAME=appdb DB_USER=admin_1c DB_PASSWORD=StrongPassword123! DB_HOST=127.0.0.1 DB_PORT=5432 ``` Это удобнее, чем тянуть в приложение служебные переменные вроде: - `REPO_ADD_URL` - `PGPRO_BIN_DIR` - `SERVICE_NAME` - `INSTALL_MODE` ## Проверка подключения После настройки можно проверить так: ```bash python manage.py migrate python manage.py showmigrations ``` Если драйвер PostgreSQL еще не установлен: ```bash pip install psycopg[binary] ``` Либо классический вариант: ```bash pip install psycopg2-binary ``` ## Рекомендуемый итоговый блок для Django-проекта ```python from decouple import config DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": config("DB_NAME", default="appdb"), "USER": config("DB_USER", default="admin_1c"), "PASSWORD": config("DB_PASSWORD", default="StrongPassword123!"), "HOST": config("DB_HOST", default="127.0.0.1"), "PORT": config("DB_PORT", default="5432"), "CONN_MAX_AGE": 60, "OPTIONS": {}, } } ```