给定一个 FlaskForm:
from flask_wtf import FlaskForm
from wtforms import RadioField, SubmitField
class DialectPreferenceForm(FlaskForm):
dialect = RadioField('SQL Choice',
choices=[('firebird','Firebird'),('mysql','MySQL'),('bothsql','Both')])
dialect_submit = SubmitField("Set choice")
和模板
<form method="POST" action="">
{{ form_sql.hidden_tag() }}
{{ form_sql.dialect }}<br/>
{{ form_sql.dialect_submit }}
</form>
...可以在模板级别设置默认单选按钮吗?我想做这样的事情,给定传递的参数param:
<form method="POST" action="">
{{ form_sql.hidden_tag() }}
{% if param == 1 %}
{{ form_sql.dialect(default='firebird') }}
{% elif param == 2 %}
{{ form_sql.dialect(default='mysql') }}
{% elif param == 3 %}
{{ form_sql.dialect(default='bothsql') }}
{% endif %}
{{ form_sql.dialect_submit }}
</form>
这个问题的目标是类似的结果,但该模板使用原始 HTML 而不是 Flask WTF。我不想将其设置为
我不确定这是否是您正在寻找的,但一种选择是在实例化表单时在端点内设置默认值。为此,您可以使用表单的
data
属性,或传递带有值的关键字。键或关键字应与表单字段的变量相对应。您可以在此处找到文档。
dialect = 'mysql'
form_sql = DialectPreferenceForm(request.form, dialect=dialect)
# or
form_sql = DialectPreferenceForm(request.form, data={ 'dialect': dialect })