将数据从文本框发送到Flask?

我想知道是否有办法从HTML中的文本框中取出一些东西,把它放入瓶中,然后用Pythonparsing这些数据。 我想这可能涉及一些JS,但我可能是错的。 有任何想法吗?

除非你想做更复杂的事情,否则从HTML表单提供数据到Flask是很容易的。

  • 创build一个接受POST请求的视图( my_form_post )。
  • 访问字典request.form的表单元素。

templates/my-form.html

 <form method="POST"> <input name="text"> <input type="submit"> </form> 
 from flask import Flask, request, render_template app = Flask(__name__) @app.route('/') def my_form(): return render_template('my-form.html') @app.route('/', methods=['POST']) def my_form_post(): text = request.form['text'] processed_text = text.upper() return processed_text 

这是关于访问请求数据的Flask文档。

如果你需要更复杂的表单需要validation,那么你可以看看WTForms,以及如何将它们与Flask集成 。

注意:除非有其他限制,否则根本不需要JavaScript来发送数据(虽然可以使用它)。

声明Flask端点以接受POSTinputtypes,然后执行必要的步骤。 使用jQuery发布数据。

 from flask import request @app.route('/parse_data', methods=['GET', 'POST']) def parse_data(data): if request.method == "POST": #perform action here 
 var value = $('.textbox').val(); $.ajax({ type: 'POST', url: "{{ url_for('parse_data') }}", data: JSON.stringify(value), contentType: 'application/json', success: function(data){ // do something with the received data } }); 

假设您已经知道如何在Flask中编写一个响应url 的视图 ,请创build一个读取request.post数据的视图 。 要将input box添加到此post数据中,请使用文本框在页面上创build一个表单。 然后你可以使用jquery来做

var data = $('#<form-id>').serialize()

然后使用类似下面的内容asynchronous发布到您的视图。

 $.post('<your view url>', function(data) { $('.result').html(data); }); 

服务器(你的烧瓶应用程序)和客户端(浏览器)之间的所有交互按请求和响应进行。 当用户点击button在你的表单中提交他的浏览器发送请求与这种forms到您的服务器(flask应用程序),你可以得到如下forms的内容:

 request.args.get('form_name')