In Django kann das Ausführen von Code während des Startups eine häufigste Anforderung sein. Lassen Sie uns eine Lösung untersuchen, die sicherstellt, dass der Code nur während des ersten Server -Startups ausgeführt wird, nicht auf nachfolgenden Anfragen.
zunächst die in der verknüpfte Frage vorgeschlagene Lösung erhöhte die Nachricht "Hello World" zweimal im Terminal. Das Problem liegt in der Verwendung der Middlewarenotused -Ausnahme, um die Ausführung der Middleware zu beenden. Durch Überschreiben der Ready-Methode in der AppConfig-Klasse Ihrer App können Sie nur Start-up-Code angeben. Dieser Ansatz ist sauberer und expliziter als die Verwendung von Middleware.
für Django -Versionen vor 1.7, hat sich der Startcode in die Datei __init__.py eines Ihrer installed_apps als effektiv erwiesen. Dieser Code wird ausgeführt, wenn die Bewerbung zum ersten Mal geladen wird, und stellt sicher, dass er nur einmal ausgeführt wird.
Hier ist ein Beispiel für die Code -Platzierung für diesen Ansatz:
# myapp/__ init__.py Importieren Sie Ihre_Module your_module.initializer ()
# myapp/__init__.py import your_module your_module.initializer()
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3