Подключение Django к Docker MS SQL
У меня есть требования:
- Python 3.11.9 ( Windows https://github.com/pyenv/pyenv )
- последняя версия Django (5.0.7.)
- MS SQL 2019
Создание простого REST-приложения с логикой Django AUTH.
Поскольку у меня локально установлен Python и пакеты в папке .env, я использую MS SQL 2019 в Docker. Приложение работает, если я использую стандартный движок SQLite DB по умолчанию.
После изменения на mssql-django
(https://pypi.org/project/mssql-django/) я получаю:
django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Имя источника данных не найдено и не указан драйвер по умолчанию (0) (SQLDriverConnect)')
requirements.txt
asgiref
Django
django-cors-headers
djangorestframework
djangorestframework-simplejwt
PyJWT
pytz
sqlparse
python-dotenv
pyodbc
mssql-django
.env
DB_HOST=localhost
DB_PORT=1433
DB_USER=mssql
DB_NAME=friendly_beaver
DB_PASSWORD=admin(!)pass
settings.py
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
'ENGINE': 'mssql',
'NAME': os.getenv('DB_NAME'),
'USER': os.getenv('DB_USER'),
'PASSWORD': os.getenv('DB_PASSWORD'),
'HOST': os.getenv('DB_HOST'),
'PORT': os.getenv('DB_PORT'),
'OPTIONS': {
'driver': 'ODBC Driver 19 for SQL Server',
},
}
}
Докер запущен (https://hub.docker.com/r/microsoft/mssql-server):
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=admin(!)pass" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
Любая помощь будет благодарна.