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

, когда я использую LoginForm на веб-приложение (GAE), как это:WTForms ошибка: TypeError: FormData должен быть multidict типа обертки

def post(self): 
    form=LoginForm(self.request) 

но показать ошибку:

Traceback (most recent call last): 
    File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 513, in __call__ 
    handler.post(*groups) 
    File "D:\zjm_code\forum_blog_gae\main.py", line 189, in post 
    form=LoginForm(self.request) 
    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 

как это работает

спасибо

ответ

7

Вы должны пройти self.request.form (данные являются формой поля, если не для полного запроса)

+1

для будущих посетителей, в настоящее время 'self.request.form' – davcs86

 Смежные вопросы

  • Нет связанных вопросов^_^