我从客户端发送 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"}
以后可以验证。但是,不知何故,实际数据“丢失”了。有任何想法吗?