因此,我从单个页面上的数据库加载所有用户,并在同一页面上为每个用户生成密码重置表单,而不是为每个用户创建单独的页面。
我的问题是,由于我有多个表单并通过下拉菜单为每个用户提交按钮,因此如何单击“提交”并为该特定用户应用更改?
就我而言,提交按钮是“重置密码”按钮。
我正在尝试使用正常方式调用表单
if request.method == "POST" and form.validate():
password = request.form['password']
但我收到异常错误
name 'form' is not defined
我已经尝试解决这个问题有一段时间了,但现在我很困惑,因为我在同一页面上有多个表单(每个用户一个)。
NOTE : I'm not using WTForms for this task
谢谢
最佳答案
我不确定这个问题是否已得到解答,但这是我刚刚想到的:
按照您的标准
if request.method == 'POST':
您可以测试 request.form 数据中每个表单项是否存在。因此,在第一个 if 语句之后添加另一个 if 语句
if 'my_form_element_name' in request.form:
print ('stuff')
如果您有其他类型的表单数据(例如文件),您可以执行以下操作:
if request.method == 'POST':
if 'file_element_name' in request.files:
return stuff
elif 'my_form_element_name' in request.form:
return stuff
else: return stuff
else: return stuff
我在一个 html 文件中有四个表单,这种方法对我有用。
关于python - 一页上的多个表单 Python FLASK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53134216/