【发布时间】:2016-06-14 23:46:22
【问题描述】:
我想通过烧瓶中的 Ajax 发布请求处理 wtf 表单。
form = LoginForm(request.form)
if form.validate():
.....
.... do something
.....
form.errors['iserror'] = True
return json.dumps(form.errors)
但我得到了这个错误
文件“/usr/lib/python3.4/json/encoder.py”,第 173 行,默认提升
TypeError(repr(o) + "不是 JSON 可序列化")
类型错误:l'需要用户名或电子邮件地址。'不是 JSON 可序列化的
在 json.dumps 中使用之前需要对 form.errors 做一些处理吗?
form.error 的输出
{'iserror': True, 'password': [l'A Password is required.'], 'csrf_token': ['CSRF token missing'], 'username': [l'A Username or E-Mail Address is required .']}
【问题讨论】:
-
出于好奇,form.errors 字符串是什么样的——也许是个愚蠢的问题,但你确定它是 json 吗?你能把上面的字符串贴出来吗?谢谢。
-
在密码和用户名的错误消息前似乎“L”是问题所在。我想这需要一些处理。
-
感谢您指出问题。问题出在我的验证消息中。我已经回答了问题