zjm1126 zjm1126 - 1 year ago 347
Python Question

WTForms error:TypeError: formdata should be a multidict-type wrapper

from wtforms import Form, BooleanField, TextField, validators,PasswordField
class LoginForm(Form):
username = TextField('Username', [validators.Length(min=4, max=25)])
password = PasswordField('Password')

when i use LoginForm on webapp(gae) like this :

def post(self):

but it show error :

Traceback (most recent call last):
File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 513, in __call__
File "D:\zjm_code\forum_blog_gae\main.py", line 189, in post
File "D:\zjm_code\forum_blog_gae\wtforms\form.py", line 161, in __call__
return type.__call__(cls, *args, **kwargs)
File "D:\zjm_code\forum_blog_gae\wtforms\form.py", line 214, in __init__
self.process(formdata, obj, **kwargs)
File "D:\zjm_code\forum_blog_gae\wtforms\form.py", line 85, in process
raise TypeError("formdata should be a multidict-type wrapper that supports the 'getlist' method")
TypeError: formdata should be a multidict-type wrapper that supports the 'getlist' method

how to make it running


Answer Source

You are supposed to pass in self.request.form (the actual form fields, not the entire request)

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download