首先,我最近刚开始用 flask ,所以我现在完全是新手,但我喜欢它,希望以后能在这个过程中提高我的技能。但是,我可能缺少一些非常基本的东西,例如:我创建了包含selectfield的表单:
class AddProductForm(Form):
subcategory = SelectField('')
然后我从查询中获取结果并将它们应用到selectfield的选项中。
...
cur = conn.cursor()
cur.execute("SELECT name FROM subcategory")
subcategories = cur.fetchall()
cur.close()
form = AddProductForm(CombinedMultiDict((request.files, request.form)))
form.subcategory.choices = [(subcat, subcat) for subcat in subcategories]
...
到目前为止,一切都很正常,我在selectfield中得到了所有结果,但是我也得到了返回的结果以及列的名称,因此select字段的每个选项的值的格式基本上如下所示(其中'name'是数据库中列的名称:
{'name': 'Gears and bolts'}
我的问题是,是否可以只显示值(在本例中为“齿轮和螺栓”)作为选择字段的选项文本,而不是前一行?
谢谢。
1条答案
按热度按时间w6mmgewl1#
我想,基于这个答案,我会把答案放在这里,以防万一有人需要它。基本上,我改变了这一行:
以下内容:
该死的。。。那是一些基本的东西,伙计。以前,我想用
subcat.name
而不是subcat['name']
,这显然是访问值的错误方法,而我AttributeError: 'dict' object has no attribute 'name'