Nếu tôi gửi một tín hiệu từ một chức năng mô-đun (một chức năng xem django như nó xảy ra), đó không phải là bên trong một lớp, nó không rõ ràng (với tôi) những gì người gửi nên - nếu có? sender=None
có phù hợp trong trường hợp này không?Nếu tôi gửi một đối tượng python 'Signal' từ một hàm, đối số "người gửi" sẽ là gì?
Cách khác, hàm được gọi bởi một yêu cầu HTTP, mà tôi hiện đang chuyển vào như một đối số riêng biệt - tôi có nên chuyển nó thay thế không?
Lựa chọn 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
)
Lựa chọn 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]
Lựa chọn A có nó. Không có gì hữu ích mà người nhận có thể làm với người gửi trong trường hợp này (nghĩa là nó không phải là một đối tượng), vì vậy hãy đặt nó thành Không.
người gửi = Không có. –