【发布时间】:2019-09-19 09:52:53
【问题描述】:
我已经编辑了这个问题,面临不同的问题
File "/home/amar/tts/FLASKAPP/voicetune/venv/lib/python3.7/site-packages/wtforms/fields/core.py", line 471, in pre_validate
for v, _ in self.choices:
TypeError: 'NoneType' object is not iterable
form.py 文件
language = SelectField(u'Language', coerce=str)
在 routes.py 文件中
def dashboard():
form = DashboardForm()
form.language.choices = [(lang.language_name,lang.language_label) for lang in Languages.query.all()]
return render_template('dashboard.html', title='Dashboard', form=form)
dashboard.html 文件
{{ form.language(class="form-control btn btn-info dropdown-toggle") }}
【问题讨论】:
-
您确定需要
coerce=str吗?这可能是问题所在,因为它会将您的选择值转换为str,而它可能必须是int,因为它是 id。 -
请提供更多代码:如何创建和验证表单。
-
我已经编辑了这个问题,因为我之前添加了不同的代码
-
看起来您在语言字段上的选择是
None请提供您正在创建表单实例的代码(可能是 routes.py)。 -
@stasiekz 请检查我添加了 routes.py 代码
标签: python flask flask-sqlalchemy flask-wtforms