Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führe ich Code beim Django-Start nur einmal aus?

Wie führe ich Code beim Django-Start nur einmal aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 03:29:30760Durchsuche

How to Execute Code Only Once on Django Startup?

Code einmal beim Django-Start ausführen

Beim Erstellen benutzerdefinierter Django-Middleware-Klassen ist es oft notwendig, Code nur einmal beim Start auszuführen. Die Verwendung des von sdolan beschriebenen Standardansatzes kann jedoch dazu führen, dass der gewünschte Code zweimal ausgeführt wird.

Lösung

Um sicherzustellen, dass die Codeausführung nur einmal erfolgt, für Django-Versionen 1.7 und höher verwenden Sie den neuen Hook von Django. In der apps.py-Datei Ihrer App:

<code class="python">from django.apps import AppConfig
class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"
    def ready(self):
        pass # Your startup code here</code>

Fügen Sie für Django-Versionen vor 1.7 Ihren Startcode in eine der __init__.py-Dateien Ihrer INSTALLED_APPS ein:

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

startup()</code>

Wann Bei Verwendung von ./manage.py runserver wird dieser Code aufgrund von Servervalidierungen zweimal ausgeführt. Bei Produktionsbereitstellungen oder beim automatischen Neuladen des Servers wird der Code jedoch nur einmal ausgeführt.

Das obige ist der detaillierte Inhalt vonWie führe ich Code beim Django-Start nur einmal aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn