isn:flask_replit
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| isn:flask_replit [2019/12/04 14:11] – créée techer.charles_educ-valadon-limoges.fr | isn:flask_replit [2019/12/10 17:39] (Version actuelle) – [Exécution de l'application] techer.charles_educ-valadon-limoges.fr | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Activité : utiliser Flask avec le site repl.it ====== | ====== Activité : utiliser Flask avec le site repl.it ====== | ||
| + | ==== J' | ||
| + | * J' | ||
| + | {{: | ||
| + | Le site de repl.it du projet se présente en 3 parties : | ||
| + | - à **gauche** **l' | ||
| + | - au **centre** **l' | ||
| + | - à **droite** la **console** montrant l' | ||
| + | {{: | ||
| + | ===== 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> | ||
| + | Le sous-dossier **templates** va contenir toutes les pages html du projet | ||
| + | </ | ||
| + | |||
| + | === 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> | ||
| + | * [[.: | ||
| + | </ | ||
isn/flask_replit.1575465079.txt.gz · Dernière modification : 2019/12/04 14:11 de techer.charles_educ-valadon-limoges.fr
