使用 WTForms RadioField 子字段在 Flask 中显示图像

Use WTForms RadioField subfields to display an image in Flask

我正在使用 WTForm 表单尝试将路径传输到我想在 HTML 中显示的图像。我的表格基本上是这样的

from flask_wtf import FlaskForm
from wtforms import RadioField

class SelectStyleForm(FlaskForm):
     images = RadioField('style image.',
                         choices=[(value1, label1),(value2, label2),...])

我的目标是遍历不同的选择,以在相应的单选按钮旁边显示与每个路径关联的图像。我的 HTML 模板如下所示:

 {% block content %}

 <form method=post>
      {% for subfield in styleform.images %}
           <td>{{subfield}}</td>
           <p>{{subfield.label}}</p>
           <img src="{{url_for('data_path', filename=subfield.label)}}"/>
      {% endfor %}
 </form>
 {% enblock %}

现在,单选按钮与文件名(写在 <p> 标签中)一起显示,但我找不到方法让相同的名称影响到 filename.

现在,它所指的值是:

<label for="images-1">value1</label>

有没有办法影响 url_for 函数中的 "correct" 值? 请注意,我也接受使用不同选择的 value 部分的解决方案,因为它们应该是相同的路径

好吧,通过摆弄不同的方法,我发现每个子字段都有一个 data 属性来存储 label 部分的字符串。

所以我的代码只需更改图像源即可工作:

<img src="{{url_for('data_path', filename=subfield.data)}}"/>

我最好的猜测是 .label 属性已经归因于 url_for 函数中的其他内容,这会阻止它访问与标签对应的字符串。

如果我错了,请随时纠正我,或者不要犹豫 post 更详细的答案!