Heim > Artikel > Backend-Entwicklung > Wie führe ich Code einmal beim Django-Start mit AppConfig aus?
Code einmal beim Django-Start mit AppConfig ausführen
Beim Erstellen von Django-Anwendungen kann es vorkommen, dass Sie bestimmten Code nur einmal ausführen möchten beim Start. Um dies zu erreichen, kann eine Django-Middleware-Klasse verwendet werden. In früheren Versionen konnte dies jedoch dazu führen, dass der Code mehr als einmal ausgeführt wurde.
Lösung für Django-Versionen < 1.7
Für Django-Versionen vor 1.7 wurde empfohlen, den Startcode in einer der __init__.py-Dateien der INSTALLED_APPS zu platzieren. Hier ist ein Beispiel:
<code class="python">def startup(): pass # load a big thing startup()</code>
Lösung für Django 1.7 und höher
Django 1.7 führte die AppConfig.ready()-Methode ein, mit der Sie Startcode angeben können. Durch die Verwendung dieser Methode wird sichergestellt, dass der Code beim Laden der App nur einmal ausgeführt wird.
<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>
Zusätzliche Hinweise
Bei Verwendung des ./manage.py-Runservers kann der Startcode möglicherweise wird aufgrund interner Servervorgänge zweimal ausgeführt. In typischen Bereitstellungsszenarien oder automatisierten Neuladevorgängen wird der Code jedoch nur einmal ausgeführt.
Das obige ist der detaillierte Inhalt vonWie führe ich Code einmal beim Django-Start mit AppConfig aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!