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 サイトの他の関連記事を参照してください。