将数据从文本框发送到 Flask?
- 2025-04-16 08:58:00
- admin 原创
- 17
问题描述:
我想知道有没有办法从 HTML 的文本框中获取一些内容,将其输入到 Flask 中,然后用 Python 解析这些数据。我之前以为这可能涉及一些 JS,但我可能错了。有什么想法吗?
解决方案 1:
除非您想做一些更复杂的事情,否则将数据从 HTML 表单输入到 Flask 中是相当容易的。
创建一个接受 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 文档。
如果您需要更复杂的需要验证的表单,那么您可以查看WTForms以及如何将它们与 Flask 集成。
注意:除非您有任何其他限制,否则您根本不需要 JavaScript来发送数据(尽管您可以使用它)。
解决方案 2:
声明一个 Flask 端点来接受 POST 输入类型,然后执行必要的步骤。使用 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
}
});
解决方案 3:
服务器(你的 Flask 应用)和客户端(浏览器)之间的所有交互都通过请求和响应进行。当用户点击表单中的“提交”按钮时,他的浏览器会向你的服务器(Flask 应用)发送包含此表单的请求,然后你可以获取到如下表单内容:
request.args.get('form_name')
解决方案 4:
假设你已经知道如何编写一个Flask
响应 URL 的视图,那么创建一个读取数据的视图request.post
。要将数据添加input box
到此帖子中,请在页面上创建一个包含文本框的表单。然后,你可以使用它jquery
来执行
var data = $('#<form-id>').serialize()
然后使用类似下面的方法异步发布到您的视图。
$.post('<your view url>', function(data) {
$('.result').html(data);
});
解决方案 5:
这对我有用。
def parse_data():
if request.method == "POST":
data = request.get_json()
print(data['answers'])
return render_template('output.html', data=data)
$.ajax({
type: 'POST',
url: "/parse_data",
data: JSON.stringify({values}),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(data){
// do something with the received data
}
});
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD