3

http://flask.pocoo.org/snippets/60/のスニペットを使用して、Flask のモデルから WTForms フォームを作成しました。入力フィールドのみを作成するという事実を除いて、すべてが正常に機能します。説明 (下記の models.py を参照) をテキストエリアにしたいと考えています。何か案は?

models.py から:

title = db.Column(db.String(55))
description = db.Column(db.Text)

views.py から

MyForm = model_form(MyModel, base_class=Form)
form = MyForm()
return render_template('create.html', form=form)

create.html から

{% for field in form %}
    {{field.label}}
    {{field}}
{% endfor %}

出力:

<input id="title" name="title" type="text" value="">
<input id="description" name="description" type="text" value="">

私が欲しいもの:

<input id="title" name="title" type="text" value="">
<textarea id="description" name="description"></textarea>
4

2 に答える 2

6

field_argsの引数を使用してmodel_form、特定のフィールドの設定をオーバーライドできます。ラベルからバリデーターまですべてを設定できます。Field.__init__()ウィジェットを含む、 の有効な引数を受け入れます。

MyForm = model_form(MyModel, base_class=Form, field_args={
    'description': {'widget': TextArea()},
})

他にオーバーライドできるものを確認したい場合は、 のソースをField参照してください。

于 2014-01-22T21:20:21.507 に答える