【发布时间】:2015-09-11 04:59:14
【问题描述】:
我从客户端发送 HTTP 请求。然后在服务器上我尝试验证一个 WTForm 表单。
from webob.multidict import MultiDict
from wtforms import Form, TextField, PasswordField, validators
class LoginForm(Form):
email = TextField('Email', [validators.Required(), validators.Email()])
password = PasswordField('Password', [validators.Required()])
以下命令在 RequestHandler 中执行:
self.request.body
>>> '{"username":"my_email@me.com", "password":"pass"}'
json.loads(self.request.body)
>>> {"username":"my_email@me.com", "password":"pass"}
type(json.loads(self.request.body))
>>> type 'dict'
MultiDict(json.loads(self.request.body))
>>> MultiDict[(u'username', u'my_email@me.com'), (u'password':'******')])
LoginForm(MultiDict(json.loads(self.request.body))).data
>>> {'password': 'pass', 'email': u''}
我希望从最后一个命令中看到{"username":"my_email@me.com", "password":"pass"},稍后我可以对其进行验证。但是,不知何故,实际数据“丢失”了。有什么想法吗?
【问题讨论】:
-
当您发布
MultiDict的结果时,您显示的(u'password':'******')不是一个有效的元组,您确定这是输出吗?
标签: python webapp2 wtforms webob