gpt4 book ai didi

python - Manage.py runserver 没有回溯

转载 作者:行者123 更新时间:2023-12-01 05:43:00 24 4
gpt4 key购买 nike

奇怪的问题。我有一个 Django 网站,我以两种方式运行:

  1. 通常通过 apache/wsgi 在 :80 上
  2. 测试时在 :8000 上使用 python manage.py runserver

通过wsgi一切正常,但是使用runserver,当我到达任何错误页面(debug = True)时,页面加载一半,然后永远保持加载,不显示回溯。

关于“半途”加载的一些注意事项:

  • 对于相同的错误,它似乎加载到完全相同的点
  • 对于不同的错误,它将是不同的点(根据 Firebug,回溯的不同部分和不同的文件大小)
  • 对于不同的浏览器,它将加载到不同的点(如果重新加载页面,则始终加载到同一点)。
  • 举个例子:我现在有一个 ValueError,它加载到回溯中的第一步,即加载 request 的“local vars”处。在 Firefox 中,它始终加载到 SSH_CONNECTION,而在 Chrome 中,加载到 SHELL(在 Firefox 中加载良好)。
  • 服务器重新启动不会产生任何影响。

正常(非错误)页面加载得很好。控制台没有显示任何特殊内容,只是显示代码为 500 的请求。

最佳答案

听起来您的代码中某处有一个 pdb.set_trace() 。我猜测是在 __unicode__ 方法中或者在错误页面渲染期间调用的方法。这是基于开发服务器的输出被缓冲的概念。

另一种(非常有可能)的可能性是,您在某个地方进行了无休止的递归调用(很可能在与上述 set_trace 情况类似的地方),但递归功能花费的时间足够长您永远不会看到RuntimeError:超出最大递归深度错误。

例如:

import time

def foo():
time.sleep(.2)
bar()

def bar():
foo()

bar()

否则,让 Python 程序挂起是相当困难的,除非您是故意这样做的。

关于python - Manage.py runserver 没有回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com