1

Djangoシグナルレシーバー機能を実装するための正規の場所はありますか? ドキュメントはmodels.pyを提案していますが、これらが別の独自のファイルに整理されていると、よりクリーンになるように思えます。(例: handlers.py、receivers.py)

4

1 に答える 1

-1

ドキュメントはmodels.pyを推奨しています。これは、アプリごとに常に読み込まれるファイルだからです。好きなファイル構造を使用できますが、いいえ、Djangoはシグナルの特定のファイルを検索しません。ハンドラーをインポートして、models.pyに接続する必要があります。例えば:

handlers.py

def my_post_save_handler(sender, instance, created, *args, **kwargs):
    # do something

models.py

from handlers import my_post_save_handler

post_save.connect(my_post_save_handler, sender=MyClass)
于 2012-04-13T16:34:37.913 に答える