Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
isn:flask_replit [2019/12/04 11:26] techer.charles_educ-valadon-limoges.fr |
isn:flask_replit [2019/12/10 17:39] (Version actuelle) techer.charles_educ-valadon-limoges.fr [Exécution de l'application] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== Activité : utiliser |
+ | ==== J' | ||
+ | * J' | ||
+ | {{: | ||
- | ==== Retour | + | Le site de repl.it du projet se présente en 3 parties : |
+ | - à **gauche** **l'arborescence** de fichiers ; | ||
+ | - au **centre** **l' | ||
+ | - à **droite** la **console** montrant l' | ||
+ | {{:isn: | ||
+ | ===== Préparation du projet ===== | ||
+ | * dans le dossier du projet le fichier principal python de l' | ||
+ | * dans le dossier , je crée un sous-dossier **templates** ; | ||
+ | * dans le sous-dossier **templates** je crée une page **index.html** | ||
<WRAP center round info> | <WRAP center round info> | ||
- | | + | Le sous-dossier |
</ | </ | ||
+ | === Le résultat à obtenir ==== | ||
+ | {{: | ||
+ | ===== Le fichier python de l' | ||
+ | * Il est important, pour le lancement de l' | ||
+ | <file python app.py> | ||
+ | #! / | ||
+ | # -*- coding: | ||
+ | from flask import Flask, render_template, | ||
+ | app = Flask(__name__) | ||
+ | |||
+ | @app.route('/' | ||
+ | def index(): | ||
+ | return render_template(' | ||
+ | |||
+ | if __name__ == ' | ||
+ | app.run(host=' | ||
+ | |||
+ | </ | ||
+ | ==== Explications des instructions ==== | ||
+ | * l' | ||
+ | * le module **Flask** qui gère le serveur HTTP ; | ||
+ | * le module **render_template** qui permet d' | ||
+ | * le module **request** pour gérer les **envois** de données avec la **méthode GET ou POST** ; | ||
+ | * la création de la variable **app** est fondamental car il s'agit de l' | ||
+ | * **app.run(debug=True)** permet de **lancer** l' | ||
+ | * la fonction **index** correspond à une **vue**. Elle peut porter le nom que je veux : | ||
+ | * elle permet au serveur de **répondre** à une requête à l' | ||
+ | * cette ligne située juste avant la fonction **index** est un décorateur (**@app.route**) qui indique : | ||
+ | * quelle **route** (adresse) permet d' | ||
+ | * de **préparer la bonne exécution** de la fonction **index** | ||
+ | * la fonction **index** va utiliser le **moteur de template** (modèle) de Flask qui s' | ||
+ | <WRAP center round info> | ||
+ | Une fonction **décorée** par **@app.route** pour renvoyer une page Web est appelée **vue**. | ||
+ | </ | ||
+ | <WRAP center round important> | ||
+ | **ATTENTION** : \\ | ||
+ | Mon application **ne doit pas avoir** deux routes identiques, ou deux vues portant le même nom ! | ||
+ | </ | ||
+ | |||
+ | ===== Le fichier HTML de la page Web ===== | ||
+ | |||
+ | * Ecrivez le contenu suivant dans le fichier **index.html** : | ||
+ | <file html index.html> | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | bonjour | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Exécution de l' | ||
+ | A l' | ||
+ | {{: | ||
+ | ==== Retour à l' | ||
+ | <WRAP center round info> | ||
+ | * [[.: | ||
+ | </ |