Vue d'ensemble
Flask 2.3, publié le 26 avril 2023, abandonne le support de Python 3.7 et migre vers importlib pour le chargement des ressources.
Fonctionnalités principales
Abandon de Python 3.7
Flask 2.3 requiert Python 3.8+ et tire parti des fonctionnalités modernes comme les expressions d'assignation (:=) et les paramètres positionnels.
python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api/saluer', methods=['GET'])
def saluer():
# Walrus operator (Python 3.8+)
if (nom := request.args.get('nom')):
return jsonify(message=f'Bonjour {nom} !')
return jsonify(message='Bonjour le monde !')
Migration importlib
Le chargement des templates et des fichiers statiques utilise désormais importlib.resources au lieu de pkg_resources, améliorant les temps de démarrage.
python
from flask import Flask, render_template
# Flask utilise importlib.resources en interne
# pour charger les templates et fichiers statiques
app = Flask(__name__)
@app.route('/')
def accueil():
# Le chargement des templates est plus rapide
return render_template('index.html')
# Les blueprints bénéficient aussi de l'amélioration
from flask import Blueprint
api = Blueprint('api', __name__, url_prefix='/api')
