Form handling lets your website talk with users by collecting their input. It helps you get information like names, emails, or choices to make your app interactive.
0
0
Why form handling matters in Flask
Introduction
When you want users to sign up or log in to your website.
When collecting feedback or survey answers from visitors.
When users need to submit orders or requests online.
When you want to let users upload files or images.
When you need to update user settings or preferences.
Syntax
Flask
from flask import Flask, request app = Flask(__name__) @app.route('/submit', methods=['POST']) def submit(): user_input = request.form['input_name'] return f"You entered: {user_input}"
Use request.form to get data sent by a form using POST method.
Define routes with methods=['POST'] to accept form submissions.
Examples
This example gets username and password from a login form and greets the user.
Flask
from flask import Flask, request app = Flask(__name__) @app.route('/login', methods=['POST']) def login(): username = request.form['username'] password = request.form['password'] return f"Welcome, {username}!"
Here,
request.form.get safely gets the comment or uses a default if missing.Flask
from flask import Flask, request app = Flask(__name__) @app.route('/feedback', methods=['POST']) def feedback(): comment = request.form.get('comment', 'No comment') return f"Thanks for your feedback: {comment}"
Sample Program
This Flask app shows a simple form asking for your name. When you submit, it greets you by name on a new page.
Flask
from flask import Flask, request, render_template_string app = Flask(__name__) form_html = ''' <form method="POST" action="/submit"> <label for="name">Enter your name:</label> <input type="text" id="name" name="name" required> <button type="submit">Submit</button> </form> ''' @app.route('/') def index(): return render_template_string(form_html) @app.route('/submit', methods=['POST']) def submit(): name = request.form['name'] return f"Hello, {name}! Thanks for submitting the form."
OutputSuccess
Important Notes
Always validate and sanitize form data to keep your app safe.
Use required attribute in HTML to help users fill forms correctly.
Flask's request.form only works with POST or PUT methods by default.
Summary
Form handling is key to making websites interactive and user-friendly.
Flask uses request.form to get data sent by forms.
Always handle form data carefully to ensure good user experience and security.