¿Hay alguna forma de ver qué señales se han configurado en Django?¿Hay alguna forma de enumerar las señales de Django?
Respuesta
Hay una aplicación Django llamada django-debug-toolbar que añade un pequeño barra de herramientas en la parte superior de todas las django páginas da información relacionada con el backend de renderizado de la página, sirvió como el número de consultas fueron ejecutados, la cantidad de tiempo que tomaron cada uno, etc. También imprime señales. No uso señales en mi aplicación, así que nunca he usado esa función, pero está ahí.
No está realmente expuesto en documentos, pero Signal es solo una clase que contiene una lista de receptores que se llaman en evento. También puede hacerlo manualmente esta lista:
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
escribí poco dominio que muestra todos los oyentes de señal: https://gist.github.com/1264102
puede modificarlo para mostrar sólo las señales.
Si desea enumerar solo los receptores conectados para una señal específica en un modelo específico, puede mirar _live_receivers
. Por ejemplo, si desea que se muestren los ganchos post_save conectados para un modelo llamado MyModel, que puede hacer:
from django.db.models.signals import post_save
from models import MyModel
print(post_save._live_receivers(MyModel))
me encontré con este enfoque en el código fuente de Django mediante la búsqueda de la forma en has_listeners
obras: https://github.com/django/django/blob/3eb679a86956d9eedf24492f0002de002f7180f5/django/dispatch/dispatcher.py#L153
- 1. Forma correcta de probar las señales de Django
- 2. ¿Hay alguna manera de enumerar todas las asociaciones belongs_to?
- 3. ¿Hay alguna forma de enumerar todas las llamadas de iguales() de una determinada clase con Eclipse?
- 4. ¿Hay alguna forma de enumerar las colas en un rabbitmq vía pika?
- 5. Extendiendo django-registration usando las señales
- 6. ¿Hay alguna manera de enumerar dependencias de tareas en Gradle?
- 7. Django: ¿Para qué sirven exactamente las señales?
- 8. ¿Hay alguna manera de enumerar dependencias/requisitos de pip?
- 9. ¿Hay alguna forma de automatizar las pruebas de Windows Forms?
- 10. ¿Hay alguna forma de filtrar las palabras ofensivas de Jcaptcha?
- 11. ¿Existen bibliotecas genéricas de Python que proporcionan capacidades de "señales" (eventos) como las señales de Django?
- 12. django señales desactivar temporalmente
- 13. ¿Hay alguna manera de enumerar las sugerencias de editor de NetBeans?
- 14. ¿Cómo uso las señales de Django con un modelo abstracto?
- 15. Django Señales en el apio
- 16. señales de django, cómo usar "instancia"
- 17. ¿Hay alguna forma de 'resaltar' el código?
- 18. ¿Hay alguna forma de currying en C?
- 19. ¿Hay alguna forma de vincular Keyboard.FocusedElement?
- 20. ¿Hay alguna forma mejor de escribir esto?
- 21. ¿Hay alguna forma de sobrecargar + = en python?
- 22. ¿Hay alguna forma de multirreproducir un SqlDataReader?
- 23. ¿Hay alguna forma de cancelar TabControl.Items.CurrentChanging?
- 24. ¿Hay alguna forma de sincronizar archivos gif?
- 25. ¿Hay alguna forma de pasar el iPhone?
- 26. Registro de señales múltiples en Django
- 27. ¿Dónde deberían manejarse las señales en un proyecto django?
- 28. ¿Hay alguna forma de unir la prueba unit de Django en PyUnit en eclipse?
- 29. ¿Hay alguna forma de ejecutar las pruebas unitarias de forma secuencial con MSTests?
- 30. ¿Hay alguna forma de hacer que un bloque sea opcional en la plantilla de Django?