AppConfig を使用して Django 起動時にコードを 1 回実行する
Django アプリケーションを構築するとき、特定のコードを 1 回だけ実行したい場合があるかもしれません。起動時。これを実現するために Django ミドルウェア クラスを利用できますが、以前のバージョンでは、コードが複数回実行される可能性があります。
Django バージョンの解決策 < 1.7
1.7 より前のバージョンの Django では、INSTALLED_APPS の __init__.py ファイルの 1 つにスタートアップ コードを配置することが推奨されていました。以下に例を示します。
<code class="python">def startup(): pass # load a big thing startup()</code>
Django 1.7 以降のソリューション
Django 1.7 では、起動コードを指定できる AppConfig.ready() メソッドが導入されました。このメソッドを使用すると、アプリの読み込み中にコードが 1 回だけ実行されるようになります。
<code class="python"># myapp/apps.py from django.apps import AppConfig class MyAppConfig(AppConfig): name = 'myapp' verbose_name = "My Application" def ready(self): pass # startup code here</code>
追加メモ
./manage.py runserver を使用する場合、起動コードが内部サーバーの操作により 2 回実行されます。ただし、一般的な展開シナリオまたは自動リロードでは、コードは 1 回だけ実行されます。
以上がAppConfig を使用して Django の起動時にコードを 1 回実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。