Flask

TP Flask

Introduction

Architecture client-serveur
Architecture client-serveur
Architecture client-serveur avec serveur applicatif et base de données

Installation

Flask est un micro Framework (une petite boite à outils) web.

Pour commencer, comme d’habitude :

pip install flask 

 

Commencez par crée un dossier appelé site et à l’intérieur le créez un fichier app.py.

Dans ce fichier app.py, tapez le code suivant ;

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Vive la spécialité NSI!'

if __name__ == '__main__':
    app.run(debug=True) 

Ce code simple petit code permet de lancer un serveur flask. Si vous exécutez le fichier vous pourrez visiter votre site à l’adresse : http://127.0.0.1:5000/

La fonction home() est associée à la route /, si nous avions utilisé /home/ plutôt que /, le message aurait été visible à l’adresse http://127.0.0.1:5000/home/

Vous pouvez tester avec le code suivant :

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Vive la spécialité NSI!'

@app.route('/home/')
def home_bis():
    return 'Ici c\'est home'

if __name__ == '__main__':
    app.run(debug=True) 

Maintenant remplacez la chaine ‘Vive la spécialité NSI !’ par la chaine ‘Vive la spécialité NSI ! encadrée de balise html h1.

Que remarquez vous ?

Mais bien plus pratique, on peut retourner un document html grâce à render_template.

Créé, à côté de app.py, un dossier templates et un dossier static. Dans le dossier template crée trois pages html : home.html, page2.html, page3.html.

Vous devriez avoir la structure suivante :

Ajoutez du contenu html dans les fichiers et mettez à jour votre fichier app.py comme ceci :

from flask import Flask, render_template

app = Flask(__name__)

# Ici on va indiquer des routes. 
# Les routes permettent de rediriger vers différents pages du site.

@app.route('/')
def home():
    return render_template('home.html')

@app.route('/page2')
def page2():
    return render_template('page2.html')

@app.route('/page3')
def page3():
    return render_template('page3.html')

if __name__ == '__main__':
    app.run(debug=True)
 
Retour en haut
Retour haut de page