Vue d'ensemble
Flask 2.0, publié le 12 mai 2021, est une version majeure qui introduit le support des vues asynchrones et les blueprints imbriqués.
Fonctionnalités principales
Vues asynchrones
Flask 2.0 supporte nativement les fonctions de vue async. Les handlers peuvent utiliser await pour les opérations d'entrée/sortie non bloquantes sans quitter l'écosystème Flask.
python
from flask import Flask
import httpx
app = Flask(__name__)
@app.get('/meteo/<ville>')
async def meteo(ville):
async with httpx.AsyncClient() as client:
resp = await client.get(
f'https://api.meteo.example/{ville}'
)
return resp.json()
@app.get('/sante')
async def sante():
return {'statut': 'ok'}
Blueprints imbriqués
Les blueprints peuvent désormais être imbriqués, permettant de structurer une application en modules hiérarchiques avec des préfixes d'URL composés.
python
from flask import Flask, Blueprint
# Blueprint parent
api = Blueprint('api', __name__, url_prefix='/api')
# Blueprint enfant
utilisateurs = Blueprint('utilisateurs', __name__, url_prefix='/utilisateurs')
@utilisateurs.get('/')
def liste():
return {'utilisateurs': []}
# Imbrication
api.register_blueprint(utilisateurs)
app = Flask(__name__)
app.register_blueprint(api)
# Route finale : /api/utilisateurs/
