Activité : les routes avec Flask
Définir une route à partir d'un lien
dans la page HTML
une
URL dans un lien en précisant le nom de
la route :
<a href="/exemple">accéder à la page exemple</a>
une
URL dans un lien en utilisant la fonction
url_for() qui précise le nom de
la vue :
<a href="{{url_for('exemple')}}">accéder à la page exemple</a>
dans la page python de l'application
pour la réponse du serveur, utilisation d'une page
HTML comme template avec des variables
# @ est un décorateur et app.route définit la route /exemple
@app.route('/exemple')
def exemple():
# la fonction exemple est une vue
# definir les actions à faire
# definir le contenu des variables à utiliser dans le template
donnee = "Information à afficher"
render_template('exemple.html', message=donnee)
@app.route('/autreexemple')
def exemple():
# definir les actions à faire
return redirect(url_for('exemple'))
@app.route('/autreexemple')
def exemple():
# definir les actions à faire
return redirect('/exemple')
dans la page HTML
une
URL dans un formulaire en précisant la méthode HTTP POST
<form action="/exemple" method="POST">
dans la page python de l'application
# @ est un décorateur et app.route définit la route /exemple
@app.route('/exemple', methods=['POST'])
def exemple():
# la fonction exemple est une vue
donnee = "Information à afficher"
render_template('exemple.html', message=donnee)
Définir une route personnalisée
dans la page HTML
une
URL dans un lien en précisant le nom de
la route et en ajoutant une information : ici 1
<a href="/exemple/1">accéder à la page exemple</a>
une
URL dans un lien en utilisant la fonction
url_for() qui précise le nom de
la vue et le nom de 'information supplémentaire:
<a href="{{url_for('exemple'), id=1}}">accéder à la page exemple</a>
dans la page python de l'application
@app.route('/exemple/<int:id>')
def exemple(id):
# le paramètre id reçu est passé en paramètre à la fonction
# definir les actions à faire
render_template('exemple.html')
Retour à l'activité : Utiliser le framework Flask pour créer un site Web dynamique