使用Python Flask从HTML标记中检索ID或名称

问题描述 投票:-1回答:1

我是python flask的新手,我正在尝试使用相同的方式验证表单。以下是HTML代码

<form action="" method=post enctype=multipart/form-data>
  <p><input type=file name=file>
     <input type=submit value=Upload id="my_id">
</form>

当用户点击上传时,请求将被发送到python烧瓶代码。但我想做的是,我想在没有明确指定的情况下检索ID(在本例中为my_id)。

    if request.method == 'POST':
    try:
        file = request.files.get('file')

现在我直接指定“文件”来上传文件。但我想获取上传按钮的ID而不直接指定它。请帮我这样做。

为什么我需要这个是因为,我将在不久的将来添加更多上传选项。因此,如果我正确地获得了ID,我可以直接接收上传的与该按钮有关的文件。

先感谢您

python flask
1个回答
1
投票

无法从服务器检测单击按钮标签的id,因为id未发送到服务器。发送到服务器的是namevalue对的列表。

因此,可以创建三个具有不同名称和/或值的提交按钮。

<input type="submit" name="submit_button" value="Upload Lion">
<input type="submit" name="submit_button" value="Upload Tiger">

然后,在服务器端,可以检测到单击的按钮:

if request.form['submit_button'] == "Upload Lion":
    process_lion()
elif request.form['submit_button'] == "Upload Tiger":
    process_tiger()

另一方面,<button>标记为您提供更多自由,因为您可以指定要发送到服务器的值与标签不同,例如:

<button type="submit" name="submit_button" value="lion">Upload</button>
<button type="submit" name="submit_button" value="tiger">Upload</button>

然后:

if request.form['submit_button'] == "lion":
    process_lion()
elif request.form['submit_button'] == "tiger":
    process_tiger()
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.