python - 一页上的多个表单 Python FLASK

标签 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

我已经尝试解决这个问题有一段时间了,但现在我很困惑,因为我在同一页面上有多个表单(每个用户一个)。

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/

相关文章:

python - python中的滚动窗口

python - PIP如何转义密码中的字符#?

python-3.x - 根据优先级修改数据框

python - 在 apache2 上使用 wsgi 部署 Flask 应用程序时出错

python - Flask 请求的日志表单数据

python - 如何将 flask-sqlalchemy 与 Google Cloud Functions 一起使用?

python - 地理 View ——墨卡托或 PlateCarree

python - API前端架构

python - 我怎样才能让我的 python 文件显示其 mercurial 标签或修订作为模块版本?

python - 可以让 sys.exit() 退出 bottle 框架吗