Comment exécuter du code une fois au démarrage de Django avec AppConfig ?

Linda Hamilton
Libérer: 2024-11-01 12:49:02
original
820 Les gens l'ont consulté

How to Execute Code Once on Django Startup with AppConfig?

Exécuter le code une fois au démarrage de Django avec AppConfig

Lors de la création d'applications Django, il peut y avoir des cas où vous souhaitez exécuter un code spécifique une seule fois au démarrage. Une classe middleware Django peut être utilisée pour y parvenir, mais dans les versions antérieures, cela pouvait entraîner l'exécution du code plusieurs fois.

Solution pour les versions Django < 1.7

Pour les versions de Django antérieures à 1.7, il était recommandé de placer le code de démarrage dans l'un des fichiers __init__.py de INSTALLED_APPS. Voici un exemple :

<code class="python">def startup():
    pass # load a big thing

startup()</code>
Copier après la connexion

Solution pour Django 1.7 et supérieur

Django 1.7 a introduit la méthode AppConfig.ready(), qui vous permet de spécifier le code de démarrage. L'utilisation de cette méthode garantit que le code ne s'exécute qu'une seule fois pendant le chargement de l'application.

<code class="python"># myapp/apps.py
from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"

    def ready(self):
        pass # startup code here</code>
Copier après la connexion

Notes supplémentaires

Lors de l'utilisation de ./manage.py runserver, le code de démarrage peut exécuter deux fois en raison des opérations internes du serveur. Cependant, dans les scénarios de déploiement typiques ou de rechargements automatisés, le code n'est exécuté qu'une seule fois.

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:php.cn
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!