Ressources Magic Makers

Créer son application et ses routes

Créer son application

Pour créer notre application, on commence par importer Flask et créer une variable app dans laquelle on va construire notre application.

Dans la suite de cette page, app fait référence à cette variable dans laquelle on va construire et ajouter les différents éléments de notre application.

Les lignes de code ci-dessus sont à mettre au tout début de notre programme.

Lancer son application

Une fois notre application créée, en toute fin de notre programme, on va lui demander de se lancer. Pour ça on va appeler la fonction run sur notre app.

Cette ligne doit impérativement être à la toute fin de notre programme. Si tu rajoute d’autres éléments à ton app après, ils ne seront pas pris en compte.

Créer une route

Pour créer une page on commence par indiquer sa route, c’est à dire le chemin qui permet d’accéder à la page. Cette route va permettre de construire l’adresse URL de la page et pouvoir y accéder.

Pour cela on va ajouter une route à notre app avec la syntaxe : @app.route(“/chemin”), puis en dessous on va créer une fonction qui construit le contenu de la page.

Pour la route de la page d’accueil, qui est celle sur laquelle on veut arriver quand on lance notre app, on utilise simplement “/”, pour une autre page on mettra son nom “/ma_page”

Notre fonction doit retourner la page à afficher, c’est à dire une chaine de caractère qui sera comprise comme une page HTML.

Dans le retour de la fonction on peux intégrer plein de balises HTML pour gérer l’affichage de notre page.

Afficher un template

Au lieu de retourner directement du code HTML écrit dans notre page python on peut créer une page HTML spécifique dans un autre fichier. C’est ce qu’on appelle un template.

Avant tout, on va créer un dossier templates dans lequel on va ranger nos différents templates. Il est essentiel que le dossier s’appelle templates et que les fichiers soient rangés dedans car Flask va aller chercher dans ce dossier. Si le template n’est pas bien rangé, il n’arrivera pas à le trouver.

La fonction que nous allons utiliser s’appelle render_template. On commence par l‘importer.

Puis dans la fonction de notre route, au lieu de retourner simplement du texte, on retourne la page HTML que l’on a créé avec render_template()

Rediriger vers une autre page​

Dans certaines situations, on peut vouloir faire une action spécifique, mais ne pas afficher de page spécifique à cette action, mais plutôt rediriger vers l’accueil.

Par exemple si on se déconnecte, on va vouloir faire l’action de déconnexion, mais pas forcement arriver sur une page “Vous avez bien été deconnecté”. On peut préférer renvoyer sur la page d’accueil, ou la page de connexion.

On va importer les fonctions redirect et url_for : redirect permet de rediriger et url_for de spécifier la fonction à exécuter pour la redirection.

Puis dans la fonction de notre route, au lieu de retourner une page, on redirige vers la fonction de notre choix.