Les décorateurs de flacons les plus utilisés

Patricia Arquette
Libérer: 2024-10-17 06:13:02
original
916 Les gens l'ont consulté

The Top ost Used Flask Decorators

Flask est l'un des micro-frameworks les plus populaires pour créer des applications Web en Python, et une grande partie de sa puissance vient de l'utilisation de décorateurs. Ces décorateurs vous permettent de vous connecter aux fonctionnalités du framework de manière claire et lisible, sans encombrer votre code. Dans cet article, nous explorerons les cinq décorateurs Flask les plus couramment utilisés, ainsi que deux mentions honorables.

1 @app.route()

Le décorateur @app.route() est utilisé pour définir le routage URL de votre application Flask. Il lie une URL à une fonction Python qui gère la logique de cette route.

Exemple :

@app.route('/')
def maison() :
return "Bienvenue sur la page d'accueil!"

Cet exemple simple mappe l'URL racine (/) à la fonction home(), renvoyant un message de bienvenue aux visiteurs.

2 @app.before_request()

Ce décorateur exécute une fonction avant chaque demande. C'est parfait pour vérifier l'authentification, initialiser des variables ou configurer des ressources.

Exemple :

@app.before_request
def check_authentication() :
sinon user_is_logged_in() :
return "Veuillez vous connecter", 401

Dans ce cas, la fonction vérifie si un utilisateur est authentifié avant de lui permettre de continuer.

3 @app.after_request()

Le décorateur @app.after_request() vous permet de modifier la réponse après le traitement d'une requête mais avant qu'elle ne soit envoyée au client. Ceci est souvent utilisé pour des tâches telles que l'ajout d'en-têtes ou la journalisation des réponses.

Exemple :

@app.after_request
def add_security_headers(réponse):
réponse.headers['X-Content-Type-Options'] = 'nosniff'
réponse de retour

Ici, un en-tête de sécurité est ajouté à chaque réponse.

4 @app.errorhandler()

La gestion des erreurs est cruciale pour toute application Web. Le décorateur @app.errorhandler() vous permet de définir un comportement personnalisé pour des codes d'état HTTP spécifiques, comme 404 Not Found.

Exemple :

@app.errorhandler(404)
def page_not_found(e):
return "Oups ! Page introuvable.", 404

Ce gestionnaire personnalisé renvoie un message convivial chaque fois qu'une erreur 404 se produit.

5 @app.teardown_request()

Utilisé pour le nettoyage après une requête, @app.teardown_request() garantit que les ressources telles que les connexions à la base de données sont correctement fermées.

Exemple :

@app.teardown_request
def close_db_connection(exception=Aucun):
db_session.remove()

Ici, une session de base de données est fermée après chaque requête, même si une exception a été levée lors du traitement de la requête.

Mentions honorables

Bien que ces décorateurs ne soient pas toujours utilisés aussi fréquemment, ils peuvent être incroyablement utiles dans certains cas :

@app.before_first_request()

Ce décorateur est utilisé pour exécuter une fonction avant que la première requête ne soit traitée. Il est idéal pour initialiser des ressources globales, telles que les connexions à une base de données ou le chargement de la configuration.

@app.before_first_request
def initialize_db() :
db.connect()
@app.context_processor()

Si vous devez injecter des variables dans tous vos modèles Jinja2 globalement, utilisez le décorateur @app.context_processor(). Cela rend les valeurs telles que les configurations actuelles de l'utilisateur ou de l'application disponibles dans chaque modèle.

@app.context_processor
def inject_user() :
retourner dict(current_user=get_current_user())

Avec cela, current_user est disponible dans tous vos modèles sans avoir à le transmettre manuellement à chaque fois.

Conclusion

Les décorateurs de Flask facilitent la gestion du cycle de vie d'une requête Web, la personnalisation du comportement et l'extension des fonctionnalités. Comprendre comment et quand utiliser ces décorateurs courants vous aidera à garder votre code Flask propre, maintenable et puissant. Avons-nous manqué l'un de vos décorateurs préférés ? Faites-le-nous savoir !

Sources

  • API Flask

  • Routage des flacons

  • Gestion des erreurs de flacon

  • Crochets de demande de flacon

  • Processeurs de contexte Flask

  • Flacon avant première demande

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!