desperadik
@desperadik
Истина где-то рядом.

Как использовать response в signal?

Добрый!

Не могу понять как использовать ответ от send.
В доках написано:
Both send() and send_robust() return a list of tuple pairs [(receiver, response), ... ], representing the list of called receiver functions and their response values.


Пример:
signals.py
from django.dispatch import Signal

requested = Signal(providing_args=["request"])


veiws.py
from signals import requested

def foo (request):
     ....
     requested.send(sender=None, request=request)


handlers.py
from django.dispatch import receiver
from signals import requested

@receiver(requested)
def foo1(sender, **kwargs):
      request = kwargs['request']
      ###Как тут вернуть response?


Или я вообще чушь написал 0_о
  • Вопрос задан
  • 2332 просмотра
Пригласить эксперта
Ответы на вопрос 2
Дебагер и принты могут помочь понять, что из себя представляет request

request = [(receiver, response), ... ]
response = request[0][1]
Ответ написан
Комментировать
Хм... а что если просто написать return "bar" в функции, которая ловит сигнал?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы