ホームページ  >  記事  >  バックエンド開発  >  AppConfig を使用して Django の起動時にコードを 1 回実行する方法

AppConfig を使用して Django の起動時にコードを 1 回実行する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 12:49:02803ブラウズ

How to Execute Code Once on Django Startup with AppConfig?

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

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