在VS代码中调试一个django应用(本地),找不到我的数据库容器db。

当我在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配置中设置,如果这是问题所在。

下面是我的 设置.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代码运行的命令 当我试图选择调试配置时

(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

解决方案:

你需要确保 vs-code 能够找到主机。db 或使用 127.0.0.1 覆盖环境。

在你的情况下,覆盖环境 "envFile": "" 做到了这一点。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

x轴为工作日循环填充

2022-4-21 10:09:06

解决方案

谷歌云。iptables中显示从1e100.net传入的GCE流量。

2022-4-21 11:06:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索