Когда я запускаю отладочную конфигурацию в VS Code:
"configurations": [
{
"name": "Django Tests",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/src/manage.py",
"args": [
"test",
"src"
],
"django": true
}
Я получаю эту ошибку: django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
У меня нет этой проблемы, когда я обычно запускаю приложение: ./src/manage.py runserver
db
- это моя контейнерная база данных postgresql.
services:
db:
container_name: db
build: ./postgresql
expose:
- "5432"
ports:
- 5432:5432
...
Возможно, я не использую правильный python путь? Я должен запустить это из моей виртуальной среды python, но я не уверен, как установить это в конфигурации VS Code, если это проблема.
Вот мои settings.py
POSTGRES_HOST = os.environ.get('POSTGRES_HOST', '127.0.0.1')
POSTGRES_PORT = os.environ.get('POSTGRES_PORT', '5432')
Кажется, что db виден локально:
$ docker logs db
PostgreSQL Database directory appears to contain a database; Skipping initialization
Вот команда CS Code запускается, когда я пытаюсь выбрать конфигурацию отладки:
(venv) me@host:/path/to/myproject/$ env DEBUGPY_LAUNCHER_PORT=36867 /path/to/myproject/venv/bin/python3 /home/me/.vscode/extensions/ms-python.python-2020.3.71659/pythonFiles/lib/python/debugpy/no_wheels/debugpy/launcher /path/to/myproject/src/manage.py runserver --noreload