包含 RadioField 的 FieldForm 的 WTForms ListField - 表单没有属性“复制”

问题描述

我正在尝试使用烧瓶和 wtforms 动态添加无线电场

#FORMS

from flask_wtf import FlaskForm
from wtforms import FieldList,FormField,RadioField,SubmitField

class DomainForm(FlaskForm):
    domain = RadioField('placeholder',choices=[])

class Formscore(FlaskForm):
    domains = FieldList(FormField(DomainForm))
    submit = SubmitField('Save')
###########################


DATA = [
        ("Lateral border",('0','0.5','1')),("Medial crease",("Talar head",("Posterior crease",("Equinus rigidity",("Empty heel",'1'))
        ]
    


@app.route('/score',methods=['GET','POST'])
def score():
    formlist = []
    for i in range(len(DATA)):
        domainForm = forms.DomainForm()
        domainForm.domain.label = DATA[i][0]
        domainForm.domain.choices = DATA[i][1]
        domainForm.domain.name = DATA[i][0]
        formlist.append(domainForm)

    form = forms.Formscore()
    form.domains= formlist

    if form.validate_on_submit():
        results=[]
        for domainForm in form.domains:
            results.append(domainForm.domain.data) ##data is always null

    
    return render_template("score.html",form=form)

代码在 html 中正确呈现,但在提交表单时,正如您所料,尝试获取所选选项将始终返回 null

我也尝试了以下方法form.domains.entries = formlist

它也在 html 中成功呈现,但是当它到达 validate_on_submit 行时,我收到此错误 'Formscore' object has no attribute 'copy'

感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...