問題:
Django の起動時に 1 回だけ実行することを目的とした Django ミドルウェア クラスを実装する場合追加コードを初期化するために起動すると、「Hello world」というメッセージが 2 回出力されます。
解決策:
Django >= 1.7:
AppConfig クラスで ready() メソッドを使用します。
<code class="python"># myapp/apps.py class MyAppConfig(AppConfig): name = 'myapp' verbose_name = "My Application" def ready(self): # startup code goes here</code>
Django の場合 < 1.7:
インストールされているアプリの __init__.py ファイルにスタートアップ コードを配置します:
<code class="python"># myapp/__init__.py def startup(): # startup code goes here startup()
説明:
の使用Django >= 1.7 のready() メソッドは、Django がすべてのモデルのロードと移行を完了した後にコードが実行されることを保証します。ジャンゴの場合
以上がDjango の起動時にコードを 1 回だけ実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。