【发布时间】:2017-07-09 18:39:20
【问题描述】:
创建一个简单的学生 CRUD 数据库我无法使用“添加学生”的功能。目前它产生 - “TypeError:'NoneType'对象不可迭代”。
**编辑:我发现这是由于使用外部查找表来获取“SelectField”“选择”。解释如何通过将选项“键、值”数据正确分解到外部模块来解决此问题的最佳答案将被标记为答案。谢谢您的帮助。 **
我的表单...
class AddStudent(FlaskForm):
gender = SelectField('Gender :', choices=lookup.GENDER)
我的查找文件 'lookup.py' ...
GENDER = [('男', '男'), ('女', '女')]
这是追溯...
builtins.TypeError
TypeError: 'NoneType' object is not iterable
File "/Users/inyoka/Documents/dev/study/app/stud/views.py", line 16, in add
if form.validate_on_submit():
File "/Users/inyoka/Documents/dev/study/env/lib/python3.5/site-packages/flask_wtf/form.py", line 101, in validate_on_submit
return self.is_submitted() and self.validate()
File "/Users/inyoka/Documents/dev/study/env/lib/python3.5/site-packages/wtforms/form.py", line 310, in validate
return super(Form, self).validate(extra)
File "/Users/inyoka/Documents/dev/study/env/lib/python3.5/site-packages/wtforms/form.py", line 152, in validate
if not field.validate(self, extra):
File "/Users/inyoka/Documents/dev/study/env/lib/python3.5/site-packages/wtforms/fields/core.py", line 193, in validate
self.pre_validate(form)
File "/Users/inyoka/Documents/dev/study/env/lib/python3.5/site-packages/wtforms/fields/core.py", line 468, in pre_validate
for v, _ in self.choices:
TypeError: 'NoneType' object is not iterable
【问题讨论】:
-
请发布带有完整堆栈跟踪的错误消息。
-
我已经添加了回溯,我不知道如何获得完整的堆栈跟踪,但我正在努力。
-
创建了一个名为 "addsmall" 的精简 Git 分支,以减少重现错误所需的代码。也使最初的介绍更加简洁。
-
好像和validation有关,我这里实现了建议:stackoverflow.com/questions/10722968/…,表单提交了,但是没有验证。
标签: python sqlite flask flask-wtforms