Retrieve text from textarea in Flask

24,967

Render a template with the form and textarea. Use url_for to point the form at the view that will handle the data. Access the data from request.form.

templates/form.html:

<form action="{{ url_for('submit') }}" method="post">
    <textarea name="text"></textarea>
    <input type="submit">
</form>

app.py:

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('form.html')

@app.route('/submit', methods=['POST'])
def submit():
    return 'You entered: {}'.format(request.form['text'])
Share:
24,967
filiphl
Author by

filiphl

Updated on November 10, 2020

Comments

  • filiphl
    filiphl over 3 years

    I would like to be able to write a multi-line text in a textarea (HTML), and retrieve this text in python for processing using Flask. Alternatively, I would like to be able to write a multi-line text in a form. I have no clue on using JS, so that won't help me. How am I to go about doing that?

  • bmc
    bmc over 5 years
    This solution does not work. Is there perhaps another dependency within the HTML that is missing? `url_for('submit')
  • Malachi Bazar
    Malachi Bazar about 5 years
    Make sure that you place the form.html file into a directory called templates. "render_template" is looking for that directory.