在JSON中返回纯Django表单错误

我有一个Django表单,我在一个正常的Django视图中验证。我试图找出如何提取纯错误(没有HTML格式)。下面是我目前使用的代码。

return json_response({ 'success' : False,
                       'errors' : form.errors })

有了这个,我从Django得到臭名昭着的代理对象错误。将每个错误强制为Unicode不会执行任何操作,因为每个错误的__unicode__方法将被有效地HTML调用它。

有任何想法吗?

编辑:

对于那些感兴趣的,这是json_response的定义:

def json_response(x):
    import json
    return HttpResponse(json.dumps(x, sort_keys=True, indent=2),
                        content_type='application/json; charset=UTF-8')
这似乎已经改进。以下在Django 1.3中工作:

return json_response({
    'success': False,
    'errors': dict(form.errors.items()),
})

不需要__unicode__或延迟翻译。这也给每个字段一个完整的错误数组。

http://stackoverflow.com/questions/986406/returning-pure-django-form-errors-in-json

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在JSON中返回纯Django表单错误