Google App Engine Blobstore 调试
我在使用 blobstore 上传文件时遇到了一些问题,但由于 Google App Engine(gae)处理这些上传的方式,我很难找出具体的错误是什么。我在用 Django 框架,但它很努力地想要防止错误信息直接显示给用户,所以我看不到详细的错误信息。看起来上传是成功的,数据库里有 __BlobInfo__
这样的记录,但之后发生了一些事情,导致返回了 500 错误。
这是日志里显示的内容:
INFO 2010-09-29 03:54:33,236 dev_appserver.py:529] Internal redirection to /img/imup/aglwaGFzZS10d29yDQsSB1Byb2plY3QYAgw
INFO 2010-09-29 03:54:33,654 dev_appserver_blobstore.py:328] Upload handler returned 500
ERROR 2010-09-29 03:54:33,654 dev_appserver_blobstore.py:341] Invalid upload handler response. Only 301, 302 and 303 statuses are permitted and it may not have a content body.
INFO 2010-09-29 03:54:33,736 dev_appserver.py:3275] "POST /_ah/upload/aglwaGFzZS10d29yGwsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxgPDA HTTP/1.1" 500 -
有没有什么方法可以从 SDK 中获取更有用的调试信息呢?
2 个回答
2
你的代码抛出的错误信息应该在你粘贴的日志行的上面显示出来——往上滚动看看!如果没有看到,那可能是你的框架在处理这些错误,但没有把它们报告出来——有可能是把错误信息返回给用户了,但在这种情况下,这样做并没有什么帮助。
0
好吧,下面是我现在的进展。这个方法有点糟糕:
try:
# something that might not work
except Exception, e:
return http.httpResponseRedirect('/%s'%repr(e))
然后我可以在网址中看到发生的错误。
我希望能接受别人(更好的)答案,因为这个方法实在太糟糕了,没什么意思!