pip install --user flask
app.py
from flask import Flask
# Creation de l'application
app = Flask(__name__)
# Dans cette partie on mettra toutes le fonctions definissant les pages
@app.route("/", methods=["GET"])
def index():
return "Hello, World!"
# Toujours garder ces lignes en toute fin, elle lance l'application
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
app.py (ctrl + B avec Sublime Text )
@app.route("/"), ainsi la requête
http://localhost:5000/ ou http://localhost:5000/ exécute la fonction
index app.py ajouter une route vers une nouvelle page /page2
app.py. Le code est à insérer après la fonction
index et avant la ligne if __name__ == "__main__":
@app.route("/page2/", methods=["GET"])
def page2():
return """
<html>
<head>
<style>
h1{
color:darkorange;
}
</style>
</head>
<body>
<h1>Une page très utile</h1>
<p>
Enfin presque ...
</p>
</body>
</html>
"""
templates, créer un fichier heure.html. <!doctype html>
<html lang=fr>
<head>
<meta charset="utf-8">
<title>"Horloge"></title>
</head>
<body style="background-image:url('https://exomorphisme.fr/static/cours/pnsi/th4/th4b/images/horloge.jpg'); background-size:cover">
<div style="position:left;max-width:360px;">
<h1>Horloge</h1>
Il est :
{{heure}}
</div>
</body>
</html>
app.py, ajouter render_template dans les fonctions importer.
from flask import Flask
from flask import Flask, render_template
@app.route('/heure')
def heure():
from datetime import datetime
heure = datetime.now()
return render_template("heure.html", heure=heure)
heure au moteur de template ?
annee.html qui contiendra un formulaire dont la
méthode sera POST et qui renverra sur la route annee
input de type number dont l'attribut name est anneebutton de type submittemplates, créer un fichier rendu.html. rendu pour afficher le résultat. Il peut contenir un bloc de variable Jinja nommé annee si vous le juger nécessaire.
app.py, créer la fonction bissextile
Au niveau du décorateur, cette fonction doit être appelée par l'URL /bissextile/ et accepter les méthodes GET et POST.
annee.html, pour permettre à l'utilisateur d'accéder au formulaire.
rendu.html ( voir ci-dessous la partie Interaction avec le formulaire )
/bissextile/ à la fonction bissextileannee la valeur transmise par le requêteannee est divisible par 4 et si annee n'est pas divisible par 100annee est divisible par 400request from flask import Flask, render_template
devient
from flask import Flask, render_template, request
post, on peut utiliser l'instruction :
request.method
GET si la requête provient de la barre d'URL, soit POST si la requête provient du formulaire. name. name email, on peut récupérer la valeur à l'aide de l'instruction : request.form["email"]