[Frasco] Frasco envía datos del formulario a la plantilla

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&quot" 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  .

 

Supongo que te gusta

Origin blog.csdn.net/u013066730/article/details/108358373
Recomendado
Clasificación