使用以下表格时:
class TextForm(Form):
example = RadioField('Choice 1:', choices=[('A','Option A'),('B','Option B')])
key = RadioField('Choice 2:', choices=[('1', 'Option 1'), ('2', 'Option 2')])
submit = SubmitField('Submit')
我期待看到:
选择1:
选择2:
相反,我没有获得如下标签:
我错过了什么?
答案 0 :(得分:4)
我遇到了同样的问题。
“ quick_form ”宏的作者可能打算使用它,或者更可能是他/她错过了一行代码来渲染出RadioField的标签,因为对其他类型也是如此的领域。
要破解它,找到文件“ bootstrap / wtf.html ”,其中定义了宏“ quick_form ”。
添加以下行:
{{field.label(类= “控制标签”)|安全}}
:
{% for item in field -%}
<div class="radio">
<label>
{{item|safe}} {{item.label.text|safe}}
</label>
</div>
{% endfor %}
希望这适合你。
答案 1 :(得分:3)
我没有使用quick_form
但是如果您要渲染字段标签,则需要将{{ field.foo.label }}
和{{ field.foo }}
放置为字段标签以显示这样对我有用:
<form method="POST" action="/">
{{ form.hidden_tag() }}
<h3>{{ form.example.label }}</h3>
<p>{{ form.example }}</p>
<h3>{{ form.key.label }}</h3>
<p>{{ form.key }}</p>
{{ form.submit }}
</form>
刚试过 flask-bootstrap ,如果渲染上面的字段标签和字段(而是使用wtf.form_field
,它应该有效,但是我没有看到任何关于{ {1}},也许是一个错误?无论如何,这是工作样本:
quick_form
希望这会有所帮助,并输出:
答案 2 :(得分:3)
这是Flask-Bootstrap中的错误,已打开两个PR来解决此问题(#159和#166)。
当前,如果您使用Bootstrap 4,则可以尝试使用Bootstrap-Flask,它是Flask-Bootstrap的替代品。