要序列化的字典- form.errors
例如,查看-
form = PersonalForm(request.POST)
# errors = serializing function which serializes form.errors
data = errors
#Is this the way to pass data? Not quite sure....
return HttpResponse(data,mimetype="application/json")
例如javascript (请求成功时)-
function(responseData) {
$('#errors_form').html(responseData);
},
朋友们,现在我该怎么做呢?
发布于 2011-03-19 18:56:35
import json
data = json.dumps(errors)
return HttpResponse(data,mimetype="application/json")
您正在询问如何将字典转换为JSON对象,以便jQuery/javascript可以读取它。json.dumps允许这种情况发生。
发布于 2011-03-19 13:10:56
您需要在两个位置查找错误。
有“非字段错误”:
form.non_field_errors
和基于字段的错误,例如name字段:
form.name.errors
根据表单的复杂程度,您可以在json中将错误引用为单个错误,或者创建一个组合它们的小python脚本。我实际上并没有运行代码,但我认为这可以为您工作:
errors = []
errors = errors + form.non_field_errors
for field in form:
errors = errors + field.errors
if len(errors) > 0 :
data = json.dumps({"response_text": "Errors Detected", "errors" : errors})
发布于 2011-03-19 13:38:05
在这里不是吹毛求疵,但是你真的验证了你的表单吗?
form.is_valid()
https://stackoverflow.com/questions/5362068
复制相似问题