English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El protocolo HTTP es la base de la comunicación de datos en la World Wide Web. Define los métodos para recuperar diferentes datos desde una URL específica.
La siguiente tabla resume los diferentes métodos HTTP -
Número | Método | Descripción |
1 | GET | Enviar datos al servidor sin encriptar, este es el método más utilizado |
2 | HEAD | Como GET, pero sin cuerpo de respuesta |
3 | POST | Usado para enviar datos de formularios HTML al servidor. Los datos recibidos por el método POST no se almacenan en el caché del servidor. |
4 | PUT | Reemplazar todas las representaciones actuales de los recursos objetivo con el contenido subido |
5 | DELETE | Eliminar todas las representaciones de los recursos objetivo dados por la URL |
Por defecto, las rutas de Flask responden a solicitudes GET. Pero, se puede cambiar esta preferencia proporcionando un parámetro de método al decorador route().
Para demostrar el uso del método POST en las rutas de URL, primero crea un formulario HTML y envía los datos del formulario a la URL utilizando el método POST.
Guarda el siguiente script en el archivo: login.html
# Nombre de archivo: example.py # Derechos de autor: 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha: 2020-08-08 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Flask HTTP Request Method Handling</title> </head> <body> <form action = "http://localhost:5000/login" method = "post"> <p>Introduce el nombre:</p> <p><input type = "text" name = "name" value=""/></p> <p><input type = "submit" value = "提交" /></p> </form> </body> </html>
Ahora, en el shell de Python, introduce el siguiente script.
# Nombre de archivo: example.py # Derechos de autor: 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha: 2020-08-08 from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route('/success/<name>') def success(name): return 'welcome %s' % name @app.route('/login, methods = ['POST', 'GET']) def login(): if request.method == 'POST': user = request.form['name'] return redirect(url_for('success', name = user)) else: user = request.args.get('name') return redirect(url_for('success', name = user)) if __name__ == '__main__': app.run(debug = True)
Después de que el servidor de desarrollo comience a ejecutarse, abra login.html en el navegador, ingrese el nombre en el campo de texto (como: maxsu ) y haga clic Enviar.
Los datos del formulario se envían a la URL especificada por la propiedad action del etiqueta <form>.
http://localhost:5000/login se mapea a la función login(). Ya que el servidor ha recibido los datos a través del método POST, el valor del parámetro 'name' se obtiene de los datos del formulario de la siguiente manera:-
# Nombre de archivo: example.py # Derechos de autor: 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha: 2020-08-08 user = request.form['name']
Se pasa como parte variable a la URL:/éxito。 El navegador muestra un mensaje de bienvenida en la ventana.
Cambie el parámetro de método de login.html a GET y abra el navegador de nuevo. Los datos recibidos en el servidor son a través del método GET. El valor del parámetro 'name' se obtiene de la siguiente manera: -
# Nombre de archivo: example.py # Derechos de autor: 2020 Por w3codebox # Autor por: es.oldtoolbag.com # Fecha: 2020-08-08 User = request.args.get('name')
Aquí, args es un objeto de diccionario que contiene una serie de parámetros de formulario y sus valores correspondientes. Al igual que antes, el valor correspondiente al parámetro 'name' se pasará a la URL:/éxito。