传递带有错误消息的字典并打印错误消息

时间:2018-04-30 14:46:43

标签: python django

我试图从后端本身验证表单。我发出了dictionary错误消息:

error_messages = {
            'error': form.errors,
        }

并将其传递给 HttpResponse

return HttpResponse(json.dumps(error_messages))

我希望在表单无效时显示错误消息。

这是我的updaterow观点:

def updaterow(request, id):
    item = get_object_or_404(Studentapp, id=id)
    if request.method == "POST":
        form = EntryForm(request.POST, instance=item)
        error_messages = {
            'error': form.errors,
        }
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            return HttpResponse(json.dumps(error_messages))
        else:
            form = EntryForm()
            return HttpResponseRedirect(reverse('studentapp:index'), id)
    return render(request, 'index.html',{'form':form})

我必须在else部分进行更改也非常友好地帮助我。

1 个答案:

答案 0 :(得分:1)

你的代码错误。如果表单有效,则没有错误消息。

    if form.is_valid():
        post = form.save(commit=False)
        post.save()
        return HttpResponseRedirect(reverse('studentapp:index'), id)
    else:
        form = EntryForm()
        return HttpResponse(json.dumps(error_messages))

请注意,如果您要发出ajax请求,那么您的JavaScript必须检查重定向响应的状态代码并采取相应的操作。