相关疑难解决方法(0)

无法在 Django 中调试或使用 pdb:bdb.BdbQuit

(2, 2, 4, 'final', 0)在 docker 中使用 Django,但我可以在内部 bash 来打开或执行所需的任何内容。但我无法调试。(如何在 Django 中调试,好方法?说明了一些方法,但对我不起作用)

在我的内部views.py有各种功能,例如这里的这个。

def visGraph(request):
    showgraph = 'Graphen'
    selectDB = request.GET.get('selectDB', '')
    __import__("pdb").set_trace()
    title += " <i>"+showgraph+"</i> ("+selectDB+")"
Run Code Online (Sandbox Code Playgroud)

它工作正常,直到我填写 pdb,添加调试器会使我的应用程序立即崩溃:

> /code/DjangoGraphen/views.py(74)visGraph()
-> title += " <i>"+showgraph+"</i> ("+selectDB+")"
(Pdb) 
Internal Server Error: /DjangoGraphen/visGraph
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response …
Run Code Online (Sandbox Code Playgroud)

python django debugging python-3.7 django-2.2

8
推荐指数
2
解决办法
4062
查看次数

使用docker-compose时调试链接的docker容器

让我们假设我有以下docker-compose.yml文件并行运行两个不同的python应用程序(例如通过烧瓶):

app1:
  command: python app.py
  build: app1/

app2:
  command: python app.py
  build: app2/
  links:
    - app1
Run Code Online (Sandbox Code Playgroud)

app2app1因为我希望从中获取特定数据app1.现在我的问题是我想要调试此链接的某个场景.我可以轻松地调试app1app2作为独立容器(通过docker-compose run --service-ports ... python app.py并放置pdb在代码中的某个位置).我的问题是当我想要调试app1以防请求来自app2.如果我开始app1使用docker-compose run,那么app2是不是能够解决的链接.随着更多应用/服务根据链接相互"交谈",这个问题变得更加严重.

有没有一个好方法来处理这个?你如何处理链接容器的调试问题(不一定是python的特定)?感谢您的投入.

python docker docker-compose

6
推荐指数
1
解决办法
2698
查看次数