Python Flask – Rutas con métodos HTTP diferentes (GET, POST)

En una aplicación web, las solicitudes GET y POST son dos de los métodos HTTP más comunes utilizados para interactuar con el servidor. Flask te permite manejar estas solicitudes de manera sencilla.

Ejemplo 1:

from flask import Flask
from flask import request

# Definir la instancia de la aplicación Flask
app = Flask(__name__)

# Definir las rutas después de la instancia de la aplicación
@app.route('/', methods=['GET'])
def index():
    if request.method == 'GET':
        return 'Página de inicio (GET)'

@app.route('/formulario', methods=['GET', 'POST'])
def formulario():
    if request.method == 'GET':
        return 'Mostrar formulario (GET)'
    elif request.method == 'POST':
        return 'Procesar formulario (POST)'

# Ejecutar la aplicación solo si este archivo es el punto de entrada
if __name__ == '__main__':
    app.run()

Ejemplo 2:

from flask import Flask, request

app = Flask(__name__)

# Definir una ruta para mostrar un formulario HTML con el método GET
@app.route('/formulario', methods=['GET'])
def mostrar_formulario():
    return """
    <form method="POST" action="/procesar">
        <label for="nombre">Nombre:</label>
        <input type="text" id="nombre" name="nombre">
        <input type="submit" value="Enviar">
    </form>
    """

# Definir una ruta para procesar datos con el método POST
@app.route('/procesar', methods=['POST'])
def procesar_formulario():
    if request.method == 'POST':
        nombre = request.form.get('nombre')
        return f'Hola, {nombre}'

if __name__ == '__main__':
    app.run()
  1. Importas request de Flask para acceder a la información sobre la solicitud HTTP.
  2. Defines dos rutas:
    • La ruta '/' que responde solo a solicitudes GET y muestra “Página de inicio (GET)” cuando se accede mediante una solicitud GET.
    • La ruta '/formulario' que responde tanto a solicitudes GET como a solicitudes POST. Muestra “Mostrar formulario (GET)” cuando se accede mediante una solicitud GET y “Procesar formulario (POST)” cuando se accede mediante una solicitud POST.

Deja un comentario