24

Django でどのシグナルが設定されているかを確認する方法はありますか?

4

4 に答える 4

32

ドキュメントでは実際には公開されていませんが、Signal は、イベントで呼び出されるレシーバーのリストを含む単なるクラスです。このリストを手動で確認できます。

from django.db.models.signals import *

for signal in [pre_save, pre_init, pre_delete, post_save, post_delete, post_init, post_syncdb]:
    # print a List of connected listeners
    print signal.receivers
于 2009-12-25T09:12:02.990 に答える
11

django-debug-toolbarと呼ばれる django アプリがあり、django が 提供するすべてのページの上部に小さなツールバーを追加し、実行されたクエリの数、それぞれにかかった時間など、ページのレンダリングのバックエンドに関連する情報を提供します。 . シグナルも出力します。私は自分のアプリでシグナルを使用していないので、その機能を使用したことはありませんが、あります。

于 2009-07-06T15:59:17.153 に答える
8

すべてのシグナルリスナーを表示する小さなコマンドを書きました: https://gist.github.com/1264102

信号のみを表示するように変更できます。

于 2011-11-17T12:06:00.697 に答える