奇怪的问题。我有一个Django网站,我以两种方式运行:
python manage.py runserver
开启时:8000测试时通过wsgi一切正常,但使用runserver
,当我到达任何错误页面(debug = True
)时,页面加载到中途,然后只是永远加载,而不显示回溯。
关于加载'中途'的一些注意事项:
request
。在Firefox中,它一直最多加载SSH_CONNECTION
,而在Chrome中最多加载SHELL
(在Firefox中加载得很好)。正常(非错误)页面加载得很好。控制台没有显示任何特殊内容,只有代码500的请求。
答案 0 :(得分:1)
听起来你的代码中某处有pdb.set_trace()
。我会猜测在__unicode__
方法或在渲染错误页面期间调用的东西。这是基于dev服务器的输出被缓冲的概念。
另一种(非常可能)的可能性是你在某个地方进行了无休止的递归调用(很可能在与上述set_trace
情况类似的地方),但是递归功能需要足够长的时间,你永远不会请参阅RuntimeError: maximum recursion depth exceeded
错误。
例如:
import time
def foo():
time.sleep(.2)
bar()
def bar():
foo()
bar()
除非你故意这样做,否则很难让Python程序挂起来。
答案 1 :(得分:1)
请参阅https://code.djangoproject.com/ticket/15132
解决方法是安装" django-extensions"和werkezeug,并使用manage.py runserver_plus
启动服务器。此增强型开发服务器默认显示其他细节中的回溯。