【问题标题】:How to view error messages generated by dajaxice如何查看 dajaxice 生成的错误信息
【发布时间】:2013-09-11 11:50:57
【问题描述】:

我正在学习使用 dajaxice,我一直在破坏东西,但是由于只有 ajax 部分不能正常工作,整个站点不会破坏并生成错误消息,所以我要花很长时间才能找到我的错误.有没有办法找出问题的确切位置?

【问题讨论】:

    标签: ajax django dajaxice


    【解决方案1】:

    我在firefox中使用firebug,在net选项卡中,django错误消息出现在服务器响应下。

    这是一个 ajax 示例:

    如果 django / dajaxice 遇到代码中的 bug,则会生成 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 模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2015-11-01
      • 2014-03-23
      • 2012-01-09
      • 2020-04-02
      • 2016-12-11
      • 1970-01-01
      相关资源
      最近更新 更多