Campos de formulario mediante request.form
Extraiga valores de formularios HTML enviados.
Campos de formulario mediante request.form es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Forms Send Data in the Body
When an HTML form posts, the field values travel inside the request body, not the URL, so request.args will not find them.
Meet request.form
For posted form fields Flask gives you request.form, a dict-like object keyed by each input name on the page.
name = request.form["name"]The name Attribute Is the Key
A field shows up in request.form under its HTML name attribute, so name="email" becomes request.form["email"].
Use .get for Optional Fields
Just like with args, prefer .get so a field the user left out returns None instead of crashing your view with an error.
phone = request.form.get("phone")Provide a Default
Give .get a fallback and missing optional fields take a clean default, keeping the rest of your logic simple.
role = request.form.get("role", "user")Match the HTTP Method
Form data only arrives on a POST, so your route must allow POST or the browser gets a 405 before your code runs.
@app.route("/signup", methods=["POST"])Form Values Are Strings Too
Every form value is text. Convert ages, prices, or counts yourself, and guard against bad input that will not parse.
age = int(request.form.get("age", 0))Handle Multi-Value Fields
Checkboxes and multi-selects can send a key many times. Use getlist to collect every chosen value into a list.
picks = request.form.getlist("topics")Form vs Args at a Glance
Remember the split: request.args reads the URL query string, while request.form reads fields from the posted body.
values Merges Both Sources
Need either source without caring which? request.values combines args and form into one dict-like view for convenience.
token = request.values.get("token")A Simple Signup View
Putting it together, a signup handler reads name and email from the form and responds once it has them in hand.
@app.route("/signup", methods=["POST"])
def signup():
name = request.form["name"]
return f"Welcome {name}"Quick Check
Check your grip on reading form fields.
Recap: Form Fields
You pulled posted fields from request.form, used .get with defaults, handled multi-value inputs, and saw how it differs from args. 🙌
Preguntas frecuentes
¿La lección «Campos de formulario mediante request.form» es gratis?
Sí — el texto completo de «Campos de formulario mediante request.form» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Campos de formulario mediante request.form»?
Extraiga valores de formularios HTML enviados. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Campos de formulario mediante request.form»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Cadenas de consulta mediante request.args
- Campos de formulario mediante request.form
- Cuerpos JSON mediante request.get_json
- Cabeceras, cookies y la IP del cliente