モジュール関数 (Django ビュー関数) からシグナルを送信した場合、それはクラス内にありません。この場合はsender=None
適切ですか?
または、関数は HTTP リクエストによって呼び出されます。現在、別の引数として渡していますが、代わりにそれを渡す必要がありますか?
オプション 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
)
オプション 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",
)
[アップデート]
オプションAにはそれがあります。この場合、受信者が送信者に対してできることは何もない (つまり、オブジェクトではない) ため、None に設定します。