Pycharm调试docker compose中的manage.py命令

G. *_*all 5 python django remote-debugging pycharm docker

我有一个非常简单的设置。我正在运行 Pycharm 2018.2.3 并使用 docker compose 启动 3 个容器。

  1. 我的 Django 应用程序
  2. NGINX 提供静态服务
  3. Postgres 数据库

我已经配置了远程解释器来调试容器,并且在大多数情况下断点工作得很好,至少当我点击 API 端点或对 django 应用程序执行其他操作时是这样。

不起作用的是当我运行我的管理自定义manage.py自定义命令之一时。到目前为止我已经尝试过这两种方法。

  1. 我在 PyCharm 中设置了另一个调试配置来执行该命令。这会导致另一个容器旋转(代替原来的容器)。运行命令,不中断任何换行符。然后整个容器关闭。

  2. 我已经登录到容器,直接通过命令行运行manage.py命令,它在容器中执行,但同样没有断点。

该文档似乎在正常情况下工作,但我找不到任何帮助来调试容器中的这些命令。

感谢您的任何帮助或提示。

G. *_*all 1

只是更新以防有人遇到类似的问题。我个人的解决方案是不使用 manage.py 命令,而是通过 http 调用提供这些相同的命令。

我发现简单地拥有像 myserver.com/api/do-admin-function 这样的端点并将其限制为管理访问会更容易(而且通常更有用)。

当我在代码中放置断点时,即使在容器中运行,它也会按预期正常中断,并允许我按照我想要的方式进行调试