gpt4 book ai didi

python - 在有序列表中渲染 Flask wtforms RadioField 线/按钮

转载 作者:行者123 更新时间:2023-12-01 03:30:34 26 4
gpt4 key购买 nike

我想知道是否可以让 Flask WTForms RadioField 在有序列表而不是无序列表中呈现单选按钮列表。我当前的jinja2模板如下:

{% extends "base.html.j2" %}

{% block content %}

<form action="/test" method="POST">
{% if test_form.errors %}
{{ test_form.errors }}
{% endif %}

{{ test_form.csrf_token }}
{% for qa in test_form.question_attempts %}
<div class="well">
<div>
{{ qa.label }}
</div>
<div>
{{ qa }}
</div>
</div>
{% endfor %}
{{ test_form.submitfield(class="btn btn-success") }}
</form>

{% endblock %}

其中 qa 变量是 RadioField 输入。

编辑:

为了澄清,test_form 包含一个 RadioFields 列表,即 question_attempts。我想做的是让每个 qa 在有序列表而不是无序列表中呈现单选按钮和关联的单选按钮文本。

最佳答案

查看 WTForms documentation 时我最初错过了 RadioFields 描述下面的部分,该部分描述了默认情况下如何呈现单选按钮列表。我将在下面展示它:

{% for subfield in form.radio %}
<tr>
<td>{{ subfield }}</td>
<td>{{ subfield.label }}</td>
</tr>
{% endfor %}

这最终会在无序列表中呈现单选按钮和关联文本。由于我正在制作一个用户可以参加测试的应用程序,因此我想在“A.B.等”列表中呈现答案选择。这相当容易做到 - 我只需要明确指定如何呈现我的 question_attempt 表单中的单选字段。我将在下面显示我更新的代码:

{% extends "base.html.j2" %}

{% block content %}

<form action="/test" method="POST">
{% if test_form.errors %}
{{ test_form.errors }}
{% endif %}

{{ test_form.csrf_token }}
{% for qa in test_form.question_attempts %}
<div class="well">
<div>
{{ qa.label }}
</div>
<div>
<ol type="A">
{% for subfield in qa.answer_selection %}
<li>
{{ subfield }}
{{ subfield.label }}
</li>
{% endfor %}
</ol>
{{ qa.question_id }}
</div>
</div>
{% endfor %}
{{ test_form.submitfield(class="btn btn-success") }}
</form>

{% endblock %}

现在表单将在有序列表中呈现单选按钮字段!

虽然显式编写模板将使您能够更好地控制字段的呈现方式,但您需要确保表单的每个组件都在模板中呈现。否则,这些字段中的数据将不会包含在已发布的数据中。这对于需要用户输入的字段来说是显而易见的(因为您不会看到它们),但如果您使用隐藏字段来处理内务数据,则可能会导致问题。

关于python - 在有序列表中渲染 Flask wtforms RadioField 线/按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986924/

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