Загрузить файлы в «/»

This commit is contained in:
2026-03-25 10:15:53 +00:00
parent 331c295d60
commit e900bd4c82

137
use.md Normal file
View File

@@ -0,0 +1,137 @@
# Подключение 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": {},
}
}
```