Djangoでどの信号が設定されているか確認する方法はありますか?Djangoシグナルを表示する方法はありますか?
18
A
答えて
9
Djangoのアプリがありますが、すべてのジャンゴの上部にある小さなツールバーは、そのような彼らそれぞれがかかったどのくらいの時間、どのように多くのクエリを実行されたとして、ページのレンダリングのバックエンドに関連する情報を提供するページを務め追加した django-debug-toolbarと呼ばれますまた、信号を出力します。私は私のアプリで信号を使用しないので、私はその機能を使用したことはありませんが、そこにあります。
27
実際にはドキュメントには公開されていませんが、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
7
は、私はすべての信号のリスナーを示し、ほとんどのコマンドを書いた:https://gist.github.com/1264102
あなたは信号のみを表示するように変更することができます。
0
特定のモデルの特定の信号に接続されている受信機のみを一覧表示する場合は、_live_receivers
を参照してください。たとえば、あなたがmymodelという名前のモデルの接続post_saveフックを一覧表示したい場合は、あなたが行うことができます:https://github.com/django/django/blob/3eb679a86956d9eedf24492f0002de002f7180f5/django/dispatch/dispatcher.py#L153
from django.db.models.signals import post_save
from models import MyModel
print(post_save._live_receivers(MyModel))
私はどのようにhas_listeners
作品を探すことにより、Djangoのソースコードに、このアプローチを見つけました
関連する問題
- 1. djangoシグナル:黙って失敗しますか?間違いをデバッグする良い方法はありますか?
- 2. djangoのm2m_changedシグナルからの検証エラーを表示します。
- 3. 「ブロッキング」WinForms ContextMenuを表示する方法はありますか?
- 4. コードを強調表示する方法はありますか?
- 5. プログラムでリフレッシュレートを表示する方法はありますか?
- 6. Interface Builder:オンスクリーンキーボードを表示する方法はありますか?
- 7. アンドロイドフォトアプリのソースコードを表示する方法はありますか?
- 8. onCreateでスプラッシュスクリーンを表示する方法はありますか?
- 9. TabHostにフラグメントを表示する方法はありますか?
- 10. Androidのアクティビティスタックを表示する方法はありますか?
- 11. PHP警告を表示する方法はありますか?
- 12. アプリでユーザーのアクティビティを表示/表示する方法はありますか?
- 13. Djangoシグナルのような 'シグナル'(イベント)機能を提供する一般的なPythonライブラリはありますか?
- 14. pthread条件変数またはシグナルを待つ方法はありますか?
- 15. djangoシグナルを処理した後にテンプレートを表示する/テンプレートにリダイレクトする方法は?
- 16. DjangoでRelatedManagerメソッドをモックする方法はありますか?
- 17. djangoでfkを偽装する方法はありますか
- 18. ベースライブラリをインポートまたは非表示にする方法はありますか?
- 19. クリスタルレポートまたはSSRSにバルーンツールチップを表示する方法はありますか
- 20. Wagtail Snippetsを使用して既存のDjangoモデルを表示する方法はありますか?
- 21. ウィンドウを非表示にする方法はありますが、タスクバーに表示する方法はありますか?
- 22. ボタンをクリックすると、テキストフィールドを表示する方法はありますか?
- 23. Django - スーパーユーザーをユーザーリストから隠す方法はありますか?
- 24. 管理フォームにDjango ForeignKeyのフィールドを表示する方法はありますか?
- 25. djangoシグナル。一意のディスパッチIDを作成する方法は?
- 26. djangoにメッセージを表示する方法
- 27. Djangoデータベースを表示する方法buttonclick
- 28. DDMSからファイルを一覧表示する方法はありますか?
- 29. APKからマニフェストファイルの内容を表示する方法はありますか?
- 30. URLから画像を表示する別の方法はありますか?