Wenn ich ein Signal von einer Modulfunktion aussende (eine Django-View-Funktion, wie es passiert), die nicht in einer Klasse ist, ist es für mich nicht offensichtlich, was der Absender sein sollte - wenn überhaupt? Ist sender=None
in diesem Fall geeignet?Wenn ich ein Python "Signal" -Objekt von einer Funktion sende, was sollte das Argument "sender" sein?
Alternativ wird die Funktion von einer HTTP-Anfrage aufgerufen, die ich derzeit als separates Argument übergebe - sollte ich das stattdessen übergeben?
Option 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
)
Option 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]
Option A hat. Es gibt nichts Nützliches, was der Empfänger in diesem Fall mit dem Sender tun kann (d. H. Es ist kein Objekt), also setze es auf None.
Absender = keine ist es. –