English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Elaborazione dei moduli Flask

Abbiamo visto che possiamo specificare il metodo http nelle regole dell'URL. La funzione di mappatura dell'URL riceve i dati del modulo come oggetto dizionario e li trasmette al modello per presentare i dati nella pagina corrispondente.

Nell'esempio seguente, l'URL => / visualizza una pagina web con un modulo ( student.html) I dati compilati vengono inviati all'URL che trigga la funzione result() => /result.

La funzione results() raccoglie i dati del modulo esistenti in request.form, li invia a result.html e li mostra.

Il modello visualizza dinamicamente i dati del modulo HTML in una tabella.

Di seguito è riportato il codice dell'applicazione Python -

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
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)

Di seguito è riportato: student.html Il codice dello script HTML.

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Esempio Flask</title>
 </head>
    <body>
       <form action="http://localhost:5000/result" method="POST">
          <p>Nome <input type="text" name="Name" /></p>
          <p>Il punteggio di fisica: <input type="text" name="Physics" /></p>
          <p>Il punteggio di chimica: <input type="text" name="Chemistry" /></p>
          <p>Il punteggio di matematica: <input type="text" name="Mathematics" /></p>
          <p><input type = "submit" value = "Invia" /></p>
       </form>
    </body>
 </html>

Il codice del template (result.html) è fornito di seguito -

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Esempio Flask</title>
 </head>
    <body>
       <table border = 1>
          {% for key, value in result.items() %}
             <tr>
                <th> {{ key }} </th>
                <td> {{ value }} </td>
             </tr>
          {% endfor %}
       </table>
    </body>
 </html>

Esegui lo script Python e inserisci l'URL nel browser => http://localhost:5000/ . I risultati sono come segue -

Quando si fa clic InviaQuando si fa clic sul pulsante, i dati del modulo sono presentati sotto forma di tabella HTML result.html Come segue, in cinese -