使用jQuery进行Ajax调用时,是否有一种获取Django提供的调试信息的好方法?现在,当我打电话时,我只是在python runserver窗口中看到一个http / 200服务器错误,但因为调用是通过javascript进行的,所以我没有得到包含所有信息的调试页面。
答案 0 :(得分:3)
您可以检查返回到jQuery ajax调用的响应的内容。使用像Firebug这样的工具可以很容易。
Django仍将返回调试页面,只是它响应ajax调用而不是常规浏览器请求。
这通常是让你的东西处理常规请求的好方法,然后只有在你确定服务器端代码正常工作后才“ajaxify”它们。
答案 1 :(得分:1)
您可以使用此代码段:http://www.djangosnippets.org/snippets/650/获取明文回溯,以便在firebug中查看,而不是HTML。
答案 2 :(得分:1)
当您收到类似的AJAX错误时,可以使用从服务器返回的调试/错误文档替换当前文档内容。例如,您可以执行以下操作:
$.ajax({
url: 'failing_controller/',
type: 'POST'
})
.fail(function (jqXHR, textStatus, errorThrown) {
document.open();
document.write(jqXHR.responseText);
document.close();
})
.success(function (data, textStatus, jqXHR) {
// ... handle data ...
});
这在开发和调试过程中非常有用,因为它可以让您实时检查服务器状态。您可能希望在生产环境中使用更合适的方法替换故障处理程序。
答案 3 :(得分:0)
可能最简单的方法是关闭调试,并依赖Django发送的电子邮件调试消息。然而,这通常不实用,但它确实有效。
答案 4 :(得分:0)
尝试django_extensions + Werkzeug。