ホームページ >バックエンド開発 >Python チュートリアル >Django の起動時にコードを 1 回だけ実行するにはどうすればよいですか?

Django の起動時にコードを 1 回だけ実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 03:29:30870ブラウズ

How to Execute Code Only Once on Django Startup?

Django の起動時にコードを 1 回実行する

カスタム Django ミドルウェア クラスを作成する場合、多くの場合、起動時にコードを 1 回だけ実行する必要があります。ただし、sdolan で説明されている標準的なアプローチを使用すると、目的のコードが 2 回実行される可能性があります。

解決策

Django バージョン 1.7 の場合、コードの実行が 1 回だけ行われるようにするには以上では、Django が提供する新しいフックを利用します。アプリの apps.py ファイル内:

<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>

Django バージョン 1.7 より前の場合は、INSTALLED_APPS の __init__.py ファイルのいずれかにスタートアップ コードを配置します:

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

startup()</code>

When ./manage.py runserver を使用すると、サーバー検証のため、このコードは 2 回実行されます。ただし、運用環境のデプロイメントまたはサーバーの自動リロード中、コードは 1 回だけ実行されます。

以上がDjango の起動時にコードを 1 回だけ実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。