1页Python FLASK上的多种形式

时间:2018-11-03 18:18:00

标签: python python-3.x flask jinja2 flask-wtforms

因此,我将从数据库中的所有用户加载到一个页面上,并为同一页面上的每个用户生成一个密码重置表单,而不是为每个用户创建一个单独的页面。

我的问题是,由于我有多个表单并通过下拉菜单为每个用户提交按钮,我该如何单击提交并为该特定用户应用更改?

在我的情况下,提交按钮是“重置密码”按钮。

enter image description here

我正在尝试使用以下方式正常调用表单

if request.method == "POST" and form.validate():
    password = request.form['password']

但是我收到异常错误

name 'form' is not defined

一段时间以来,我一直在尝试解决此问题,但是由于我在同一页面上有多种表单(每个用户一个),现在我感到非常困惑。

  

注意:我没有为此任务使用WTForms

谢谢

1 个答案:

答案 0 :(得分:1)

我不确定是否已经回答了这个问题,但这是我刚刚想出的结果:

遵循标准

if 'my_form_element_name' in request.form:
    print ('stuff')

您可以测试request.form数据中是否存在每个表单项。因此,在第一个之后添加另一个if语句

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

如果您有其他类型的表单数据(例如文件),则可以执行以下操作:

position: absolute;

我在一个html文件中有四种形式,这种方法对我有用。