WTF 选择字段在前端显示带有圆括号的值
Posted
技术标签:
【中文标题】WTF 选择字段在前端显示带有圆括号的值【英文标题】:WTF select field showing value with round brackets on front end 【发布时间】:2020-09-07 01:39:10 【问题描述】:简而言之,我正在制作一个 Flask-wtf 应用程序,其中我有一个选择字段:
someVar=SelectField("someVar",choices=result)
其中result
是从数据库中获取的数据列表。
现在问题在于前端结果显示的值如 ('abcxyz',) 而不仅仅是“abcxyz”,而 DB 查询也产生的值只是“abcxyz”。我也希望在页面加载时下拉列表为空白。
我在 html 上将这个选择字段值显示为:
form.someVar.label form.someVar
【问题讨论】:
【参考方案1】:我建议您使用 QuerySelectField 而不是 SelectField,因为您要从数据库中获取数据来填充下拉列表。
from wtforms.ext.sqlalchemy.fields import QuerySelectField
所以你会做类似的事情,
someVar = QuerySelectField("someVar",
blank_text='select someVar',
query_factory=lambda: Model.query.all(),
allow_blank=True)
在这里您使用query_factory
来设置选项。另请注意,blank_text
属性将确保默认情况下不选择任何值。
【讨论】:
感谢您的回复,但由于我是 Flask 的新手,我不太了解这种方法,我只是在 Sql Alchemy 的帮助下触发我的查询:result = DBConnection.getConnection( ).execute("select SomeVarName from MV5")..........MV5 是一个物化视图,我不确定是否需要为它创建任何模型类。您能否分享一个包含一些细节的示例。这将非常有帮助....谢谢 DBConnection.getConnection() 是我的 python 类方法,它返回 DB 连接对象。 请任何人举个例子来解决我的问题?? 如果你使用flask-sqlalchemy,你必须使用ORM。您能否使用存储选择的模型代码更新您的帖子?【参考方案2】:返回值是一个元组。 而不是
someVar = SelectField("someVar", choices=result)
使用
someVar = SelectField("someVar", choices=result[0])
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于WTF 选择字段在前端显示带有圆括号的值的主要内容,如果未能解决你的问题,请参考以下文章
我想请问前端的大佬,为啥在vue 的data中定义的一个变量,在页面上都显示不了,不知道怎么回事,
springmvc 在前端jsp页面,select标签显示复合条件。和 session跨页面操作。