如何循环浏览烧瓶/python中的表单?
Posted
技术标签:
【中文标题】如何循环浏览烧瓶/python中的表单?【英文标题】:How can I loop through form’s in flask/python? 【发布时间】:2022-01-23 20:47:17 【问题描述】:我有一页 html,其中包含几个具有不同名称和值的提交按钮。我在 SQL 的一个数据库中拥有所有按钮的名称。当用户进入页面时,通常他每次只单击一个按钮并提交表单。如何在我的烧瓶/python 程序中循环访问这些按钮?
connection = sqlite3.connect('world.db')
cursor = connection.cursor()
sqlite_select_query = """SELECT name FROM countries"""
cursor.execute(sqlite_select_query)
records = cursor.fetchall()
for row in records:
wish = request.form[row[0]]
try:
db.execute("INSERT INTO userinput (user_id, wish, country_name) VALUES (?, ?, ?)", user_id, wish, row[0])
except ValueError:
db.execute("UPDATE userinput SET wish = ? WHERE user_id =? AND country_name=?", wish, user_id, row[0] )
except:
pass
我有一个错误 400 Bad request。
Ps.:我已经尝试将 row 的值放在 ' 和 " 之间。没有改变任何东西。
如果我将 request.form 放在 try 会话中,它就会通过。 我在几个“打印”之前放了一些错误,看看错误在哪里,并在请求表单中查看。
如果我将名称直接放在请求表单中并在循环之外,例如''' request.form[“Brazil”]''',我可以毫无问题地插入数据库。 谢谢。
【问题讨论】:
【参考方案1】:我很确定request.form
不包含所有国家/地区,只需单击一个相关按钮。您可以查看服务器日志,可能您会在request.form
中看到有关丢失密钥的信息。所以你想要的是找到那个特定的:
wish = request.form.get(row[0])
if wish is None:
continue
【讨论】:
成功了!!!非常感谢! 很高兴听到这个消息!添加之前的评论时出了什么问题? ;) 只是一个“”错误。哈哈哈才3个月的编程,这样的事很多哈哈哈以上是关于如何循环浏览烧瓶/python中的表单?的主要内容,如果未能解决你的问题,请参考以下文章