要序列化的字典 - form.errors
e.g。查看 -
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")
e.g。 javascript(请求成功时) -
function(responseData) {
$('#errors_form').html(responseData);
},
现在我该如何做这些朋友?
答案 0 :(得分:3)
import json
data = json.dumps(errors)
return HttpResponse(data,mimetype="application/json")
您正在询问如何将字典转换为JSON对象,因此您的jQuery / javascript可以读取它。 json.dumps允许这种情况发生。
答案 1 :(得分:0)
您需要查看两个地方的错误。
有“非字段错误”:
form.non_field_errors
基于字段的错误,例如名称字段:
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})
答案 2 :(得分:0)
这里没有挑剔,但你真的确认了你的表格吗?
form.is_valid()