如何查看dajaxice生成的错误消息

时间:2013-09-07 13:18:44

标签: ajax django dajaxice

我正在学习使用dajaxice,并且我一直在破坏,但由于只有ajax部件无法正常工作,整个网站不会破坏并生成错误消息,所以我永远都在找我的错误。有没有办法找出问题的确切位置?

1 个答案:

答案 0 :(得分:0)

我在firefox中使用firebug,在网络标签中,django错误消息显示在服务器的响应下。

这是一个ajax示例:

enter image description here

如果django / dajaxice遇到代码中的错误,则会生成一个http 500(内部服务器错误)响应,该firefug以红色突出显示。响应往往相当大,dajaxice响应在html中,但有了一些滚动,总是可以找到错误信息!我认为Google Chrome在开发者工具中提供了类似的功能。

另一个方便的技巧是在dajaxice方法中使用print语句,例如:

@dajaxice_register
def updateText(request, objId, text):
    print "updateText:: objId: %s text %s" % (objId, text)
    t = TextItem.objects.get(id=objId)
    t.text = text
    print "updateText:: t.text: " % t.text
    t.save()
    json_return = simplejson.dumps({'text': text, 'objId': objId})
    print "updateText:: json_return: %s" % json_return
    return json_return

当使用./manage.py runserver运行应用程序时,打印语句立即显示在控制台中,散布着对django的网络请求,如果其中一个打印语句没有比代码执行没有那么远,或者没有遵循条件(if语句)的那个分支。

一旦正确运行,就应该从代码中删除打印语句,因为它们会影响生产环境中应用程序的速度。较长期的解决方案是使用django.logging模块。