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. PHP警告を表示する方法はありますか?
- 3. TabHostにフラグメントを表示する方法はありますか?
- 4. コードを強調表示する方法はありますか?
- 5. 「ブロッキング」WinForms ContextMenuを表示する方法はありますか?
- 6. Androidのアクティビティスタックを表示する方法はありますか?
- 7. onCreateでスプラッシュスクリーンを表示する方法はありますか?
- 8. Interface Builder:オンスクリーンキーボードを表示する方法はありますか?
- 9. プログラムでリフレッシュレートを表示する方法はありますか?
- 10. Djangoシグナルのような 'シグナル'(イベント)機能を提供する一般的なPythonライブラリはありますか?
- 11. djangoシグナルを処理した後にテンプレートを表示する/テンプレートにリダイレクトする方法は?
- 12. ベースライブラリをインポートまたは非表示にする方法はありますか?
- 13. クリスタルレポートまたはSSRSにバルーンツールチップを表示する方法はありますか
- 14. DjangoでRelatedManagerメソッドをモックする方法はありますか?
- 15. ウィンドウを非表示にする方法はありますが、タスクバーに表示する方法はありますか?
- 16. djangoにメッセージを表示する方法
- 17. 管理フォームにDjango ForeignKeyのフィールドを表示する方法はありますか?
- 18. djangoシグナル。一意のディスパッチIDを作成する方法は?
- 19. APKからマニフェストファイルの内容を表示する方法はありますか?
- 20. URLから画像を表示する別の方法はありますか?
- 21. DDMSからファイルを一覧表示する方法はありますか?
- 22. コマンドラインからNODE_ENVを表示する方法はありますか?
- 23. Androidでは、画像をランダムに表示する方法はありますか?
- 24. チームビルドログを表示するには良い方法はありますか?
- 25. Android:ActionBarにアイコンを表示する方法はありますが、オプションメニューには表示されませんか?
- 26. スクロール表示でuibuttonの代わりにスクロール表示でイメージを追加する方法はありますか?
- 27. django管理者のユーザーに対して表示権限のみを与える方法はありますか?
- 28. iphone OS 3.0でステータスバーを非表示にする方法はありますか?
- 29. Twitter-Bootstrapで複数のダイアログボックスを表示する方法はありますか?
- 30. ソリューションエクスプローラでプロジェクトをプログラムで非表示にする方法はありますか?