Se invio un segnale da una funzione del modulo (una funzione di visualizzazione di django come accade), che non è all'interno di una classe, non è ovvio (per me) quale dovrebbe essere il mittente - semmai? sender=None
è appropriato in questo caso?Se invio un oggetto "Segnale" python da una funzione, quale dovrebbe essere l'argomento "mittente"?
In alternativa, la funzione è invocata da una richiesta HTTP, che attualmente passo come argomento separato - dovrei passarla invece?
Opzione A:
from django.dispatch import Signal
my_signal = Signal(
providing_args=['my_arg', 'request']
)
# this is a view function
def do_something(request):
# ... do useful stuff
my_signal.send(
sender=None,
my_arg="Hello",
request=request
)
Opzione B:
from django.dispatch import Signal
my_signal = Signal(
providing_args=['my_arg']
)
# this is a view function
def do_something(request):
# ... do useful stuff
my_signal.send(
sender=request,
my_arg="Hello",
)
[UPDATE]
Opzione A ha. Non c'è nulla di utile che il ricevitore possa fare con il mittente in questo caso (cioè non è un oggetto), quindi impostarlo su Nessuno.
mittente = Nessuno lo è. –