Introduction à Flask

Flask est un micro-framework web Python léger et flexible, idéal pour créer des applications web et des API.

Application minimale

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

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

Structure du projet

mon_projet/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   ├── models.py
│   └── templates/
├── config.py
├── requirements.txt
└── run.py

Routes et Vues

Routes de base

@app.route('/utilisateur/')
def profil(id):
    return f'Profil de l\'utilisateur {id}'

@app.route('/article', methods=['GET', 'POST'])
def article():
    if request.method == 'POST':
        return 'Créer article'
    return 'Liste des articles'

Templates

from flask import render_template

@app.route('/accueil')
def accueil():
    return render_template(
        'accueil.html',
        titre='Bienvenue',
        articles=articles
    )

Extensions populaires

  • Flask-SQLAlchemy (ORM)
  • Flask-Login (Authentification)
  • Flask-WTF (Formulaires)
  • Flask-RESTful (API REST)
  • Flask-Migrate (Migrations BD)

Bonnes pratiques

  • Utiliser une structure modulaire
  • Séparer la configuration
  • Utiliser des blueprints
  • Gérer les erreurs proprement
  • Tester son application

Ressources utiles