Flask envía datos del formulario a la plantilla
Hemos visto que el método http se puede especificar en las reglas de URL. Los datos del formulario recibidos por la función de activación se pueden recopilar en forma de un objeto de diccionario y reenviar a la plantilla para presentarlos en la página web correspondiente.
En el siguiente ejemplo, la URL '/' representará una página web con un formulario (student.html). Los datos completados se publicarán en la URL '/ result' que activa la función result () .
La función results () recopila los datos de formulario existentes en request.form en el objeto de diccionario y los envía a result.html .
Esta plantilla procesa dinámicamente una tabla HTML de datos de formulario .
A continuación se muestra el código Python de la aplicación:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def student():
return render_template('student.html')
@app.route('/result', methods=['POST', 'GET'])
def result():
if request.method == 'POST':
result = request.form
return render_template("result.html", result=result)
if __name__ == '__main__':
app.run(debug=True)
A continuación se muestra el script HTML de student.html .
<form action="http://localhost:5000/result"" method="POST">
<p>Name <input type = "text" name = "Name" /></p>
<p>Physics <input type = "text" name = "Physics" /></p>
<p>Chemistry <input type = "text" name = "chemistry" /></p>
<p>Maths <input type ="text" name = "Mathematics" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>
El código de la plantilla (result.html) se proporciona a continuación :
& lt; & gt y otros caracteres de escape, consulte https://blog.csdn.net/u013066730/article/details/108358895
Se encontró que el carácter de escape no era bueno, por lo que era innecesario.
<!doctype html>
<html>
<body>
<table border = 1>
{% for key, value in result.items() %}
<tr>
<th> {
{ key }} </th>
<td> {
{ value }} </td>
</tr>
{% endfor %}
</table>
</body>
</html>
Ejecute el script de Python e ingrese la URL http: // localhost: 5000 / en el navegador .
Cuando se hace clic en el botón Enviar , los datos del formulario se presentan en result.html en forma de tabla HTML .