python - 关于 django form.errors 的问题,获取原始错误消息

标签 python django forms

django文档说 https://docs.djangoproject.com/en/dev/ref/forms/api/#django.forms.Form.errors

访问错误属性以获取错误消息字典:

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/

相关文章:

python - 如何在 Django 模板中使用 'is not None'?

javascript - 在 Angular 7 中提交后,手动为输入赋值不会影响 'ngForm.value'

javascript - 如何通过 Angular 指令管理表单有效性?

python - urllib.error.HTTPError : HTTP Error 404: Not Found Python while scraping data from Metacritic

python - 如何在python中使用dbf模块忽略已删除的记录?

python - 带装饰器的线程

django - Pinterest API板分页

python - 关于django线程安全的问题

python - 理解 set() 函数

javascript - 如何按字母顺序对页面上具有 optgroup 的所有选择框进行排序,而不将选项移出各自的组?