Maison > Article > développement back-end > Comment exécuter du code une fois au démarrage de Django avec 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>
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>
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!