如何使用Flask从HTML表单传递Python函数输入?

时间:2014-06-08 17:18:08

标签: python html flask

我正在使用Flask开发一个Web应用程序,但我是一名新手,并且正在努力学习文档。在网页上的一个表单中,我有一个图像表,它们都是按钮。我有一个Python脚本,当传递一个特定的字符串时,将从API中检索一小段文本数据。对于表格中的每个单元格,我的HTML格式为:

<form action="/" method="POST">
    <table>
     <thead></thead>
     <tbody><tr>
        <td><input type=image src="image.jpg" name="SNOWY OWL" value="SNOW"/></td>
        <td><input type=image src="image.jpg" name="BARD OWL" value="BARD"/></td>
        <td><input type=image src="image.jpg" name="BARN OWL" value="BARN"/></td>
     </tr></tbody>
    </table>
</form>

当使用value= <input>属性中的字符串传递时,我的Python脚本中的函数可以返回我正在寻找的内容。

是否有一个使用Flask获取此value=属性并将其插入Python函数的简单方法,并在网页上以文本形式返回结果?

1 个答案:

答案 0 :(得分:2)

您必须为所有单元格提供相同的name,以便烧瓶可以像这样返回value

  <td><input type=image src="image.jpg" name="SNOWY OWL" value="SNOW"/></td>`
  <td><input type=image src="image.jpg" name="SNOWY OWL" value="BARD"/></td>`
  <td><input type=image src="image.jpg" name="SNOWY OWL" value="BARN"/></td>`

你的Python代码是:

@app.route('/', methods = ['POST'])
def choose():
    print( request.form.get('SNOWY OWL',None),"CLICKED!")
    return render_template('index.html')

工作原理如下: request.form.get("NAMEOFTHECLICKED","WHATTORETURNIFNOSUCHNAME")

打印以下内容:

  

(&#39; BARD&#39;,&#34;点击!&#34;)

     

(&#39; BARN&#39;,&#34;点击!&#34;)