Ошибка WTForms: «object .__ new __ () не принимает параметров», при установке дополнительных kwargs - PullRequest
1 голос
/ 12 марта 2012

Исходя из того, что я видел, я предполагаю, что вы должны передать kwargs виджету WTForms, и он добавит их в качестве атрибутов в тег, верно? Как и так?

from wtforms import Form, TextAreaField, validators
from wtforms.widgets import TextArea

class ContactForm(Form):
    body = TextAreaField('Message', [validators.Required()], widget=TextArea(rows=25, cols=50))

Что я получаю в консоли, так это:

TypeError: object.__new__() takes no parameters

После нескольких часов исследований и трепета я не совсем уверен, что делать с этой ошибкой. Источник виджета TextArea сообщает следующее:

rows и cols должны быть переданы как аргументы ключевых слов при рендеринге.

Кажется, это должно быть довольно просто.

Я использую Python 2.7 в App Engine вместе с Flask, если это поможет. Я использую последнюю версию WTForms, 1.0.1 на момент написания.

Заранее спасибо!

1 Ответ

1 голос
/ 12 марта 2012

Вы можете установить столбцы и строки в своем HTML:

{{form.text(cols="45", rows="10", placeholder=_('Please describe in a few simple sentences'))|safe}}

И затем вызвать свой виджет без параметров ()

...