python - flask-wtf selectField 选择无效

标签 python dictionary flask wtforms

我做了一个这样的 SelectField:

# constants.py
QUESTION_LIST = {}
QUESTION_LIST['QuestionOne'] = { 'disagree-strong': "Strongly Disagree", 'agree-strong': "Strongly Agree" }

#forms.py
from constants import *
typeone = SelectField('QuestionOne', 
      choices=QUESTION_LIST['QuestionOne'].iteritems(), 
      description='Answer the question')

因此,当您加载页面时,它会显示选项。我选择了选项,按提交,它说“这不是一个有效的选择”并且它会清空选择字段。

然后当你刷新页面时,就好像代码被破坏了,它不再显示选择...这是一个空的下拉/选择字段。

我做错了什么?

编辑:出于某种原因,当您将 iteritems 放在 View 而不是表单中时,一切正常。 Flask-WTF 的某种怪癖,如果你不使用他们的格式,它似乎会在你提交表单后删除选择。

最佳答案

也许问题在于您在 dict 中的键是字符串。我以前遇到过这个问题,所以也许这样的事情会有所帮助:

typeone = SelectField("Question1", coerce=str, choices=QUESTION_LIST['QuestionOne'])

这个强制 东西帮了大忙。发生了什么 我认为所有 POST 数据都是 unicode 并且默认情况下 coerce 也等于 unicode(至少在 WTF 形式中,如果您使用 Flask-WTF 扩展,则需要检查)。你的选择键是字符串。

关于python - flask-wtf selectField 选择无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14186412/

相关文章:

python - 如何将带有元组键的 python 字典转换为 pandas 多索引数据框?

python - 字典中值之间的百分比差异

python - 在 jinja2 模板中创建指向 Flask 应用程序 url 的链接

python - 在 Python 中从头开始 K 均值聚类 - 重新定义质心

python - 詹森-香农散度

python - 使用 Tornado 通过 GET 处理所有 REST 请求

python - 使用 flask_restful 构建 REST Api 时出错

python - 我在构建 dockerfile 时出错了,我对此一无所知

python - 如何合并具有相同键的字典

python - Flask-Admin:将自定义属性添加到 column_list