gpt4 book ai didi

python - 如何从模型生成的表单中指定我想要的小部件(例如 TextArea 而不是简单的文本输入)? flask SQLAlchemy WTForms

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:30 26 4
gpt4 key购买 nike

我使用了来自 http://flask.pocoo.org/snippets/60/ 的片段从我在 Flask 中的模型创建一个 WTForms 表单。一切正常,除了它只创建输入字段。我希望描述(见下面的 models.py)是一个文本区域。有什么想法吗?

来自模型.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>

最佳答案

您可以使用 model_formfield_args 参数来覆盖特定字段的设置。您可以设置从标签到验证器的所有内容。它接受 Field.__init__() 的任何有效参数,包括小部件。

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

如果您想了解您还可以覆盖哪些内容,请查看 source for Field .

关于python - 如何从模型生成的表单中指定我想要的小部件(例如 TextArea 而不是简单的文本输入)? flask SQLAlchemy WTForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com