ute*_*ard 3 python flask wtforms flask-sqlalchemy flask-wtforms
我使用了http://flask.pocoo.org/snippets/60/中的代码片段,通过Flask中的模型创建了WTForms表单。除了仅创建输入字段的事实以外,其他所有方法都工作正常。我希望说明(请参见下面的models.py)成为文本区域。有任何想法吗?
从models.py:
title = db.Column(db.String(55))
description = db.Column(db.Text)
Run Code Online (Sandbox Code Playgroud)
从views.py
MyForm = model_form(MyModel, base_class=Form)
form = MyForm()
return render_template('create.html', form=form)
Run Code Online (Sandbox Code Playgroud)
来自create.html
{% for field in form %}
{{field.label}}
{{field}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
输出:
<input id="title" name="title" type="text" value="">
<input id="description" name="description" type="text" value="">
Run Code Online (Sandbox Code Playgroud)
我想要的是:
<input id="title" name="title" type="text" value="">
<textarea id="description" name="description"></textarea>
Run Code Online (Sandbox Code Playgroud)
您可以使用field_args
参数model_form
来覆盖特定字段的设置。您可以设置从标签到验证器的所有内容。它接受的任何有效参数Field.__init__()
,包括小部件。
MyForm = model_form(MyModel, base_class=Form, field_args={
'description': {'widget': TextArea()},
})
Run Code Online (Sandbox Code Playgroud)
如果您想查看其他可以覆盖的内容,请查看的来源Field
。