如果我从模块函数(发生时的 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有。在这种情况下,接收方对发送方没有任何用处(即它不是对象),因此将其设置为无。