django文档说 https://docs.djangoproject.com/en/dev/ref/forms/api/#django.forms.Form.errors
访问错误属性以获取错误消息字典:
block 引用> block 引用>f.errors {'sender': ['Enter a valid email address.'], 'subject': ['This field is required.']}
但是,当我尝试打印 forms.errors 时,我得到了 html 代码。
def login(request): if request.method == "GET": return render(request, r"login.html") else: form = LoginForm(request.POST) if form.is_valid(): return HttpResponse("valid") else: print form.errors return HttpResponse("Invalid")
Django version 1.6.4, using settings 'test_proj.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. <ul class="errorlist"><li>username<ul class="errorlist"><li>Ensure this value ha s at most 3 characters (it has 6).</li></ul></li></ul>
例如,我需要获取原始错误来显示 ajax 消息发送器
response_json = {"status": "error", "content": "Username is too short"}
如果还有其他方法获取原始错误消息,也可以告诉我。谢谢!
最佳答案
这只是调用 print
的产物:隐式转换为字符串,以及 ErrorList 类的 __str__
method调用其 as_ul
方法以 HTML 形式输出 - 这样您只需执行 {{ form.errors }}
即可在模板中输出错误列表。
对象本身的内容不是 HTML 格式,您可以通过执行 print repr(form.errors)
来查看它。
关于python - 关于 django form.errors 的问题,获取原始错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23404377/