Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send data from a textbox into Flask?

Tags:

python

flask

I was wondering if there was a way to take something from a text box in the HTML, feed it into flask, then parse that data with Python. I was thinking this might involve some JS but I could be wrong. Any ideas?

like image 354
ollien Avatar asked Sep 05 '12 09:09

ollien


People also ask

How do I send data to flask?

In the <form> tag, you set the method attribute to post so the form data gets sent to the server as a POST request. In the form, you have a text input field named title ; this is the name you'll use on the application to access the title form data. You give the <input> tag a value of {{ request.


1 Answers

Unless you want to do something more complicated, feeding data from a HTML form into Flask is pretty easy.

  • Create a view that accepts a POST request (my_form_post).
  • Access the form elements in the dictionary 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 

This is the Flask documentation about accessing request data.

If you need more complicated forms that need validation then you can take a look at WTForms and how to integrate them with Flask.

Note: unless you have any other restrictions, you don't really need JavaScript at all to send your data (although you can use it).

like image 90
pacha Avatar answered Sep 21 '22 17:09

pacha