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

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

Mary-Kate Olsen
Freigeben: 2024-11-08 03:28:02
Original
429 Leute haben es durchsucht

How to Execute Code Only Once at Django Startup?

Code einmal beim Django-Start ausführen

Problem:

Bei der Implementierung einer Django-Middleware-Klasse, die nur einmal ausgeführt werden soll Startup, um zusätzlichen Code zu initialisieren, wird die Meldung „Hallo Welt“ zweimal gedruckt.

Lösung:

Für Django >= 1.7:

Verwenden Sie die Methode ready() in einer AppConfig-Klasse:

<code class="python"># myapp/apps.py
class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"

    def ready(self):
        # startup code goes here</code>
Nach dem Login kopieren

Für Django < 1.7:

Fügen Sie den Startcode in die Datei __init__.py einer installierten App ein:

<code class="python"># myapp/__init__.py
def startup():
    # startup code goes here

startup()
Nach dem Login kopieren

Erklärung:

Verwendet Die Methode ready() in Django >= 1.7 stellt sicher, dass der Code ausgeführt wird, nachdem Django das Laden aller Modelle und Migrationen abgeschlossen hat. Für Django < 1.7 stellt die Platzierung des Codes in __init__.py sicher, dass er beim Import ausgeführt wird, der einmal pro Prozess erfolgt.

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage