소스 검색

Fixed #22507 -- Clarified nature of the sender argument of signals

Claude Paroz 11 년 전
부모
커밋
d1f93e9c1e
1개의 변경된 파일5개의 추가작업 그리고 4개의 파일을 삭제
  1. 5 4
      docs/topics/signals.txt

+ 5 - 4
docs/topics/signals.txt

@@ -235,7 +235,8 @@ For example:
 This declares a ``pizza_done`` signal that will provide receivers with
 ``toppings`` and ``size`` arguments.
 
-Remember that you're allowed to change this list of arguments at any time, so getting the API right on the first try isn't necessary.
+Remember that you're allowed to change this list of arguments at any time, so
+getting the API right on the first try isn't necessary.
 
 Sending signals
 ---------------
@@ -246,8 +247,8 @@ There are two ways to send signals in Django.
 .. method:: Signal.send_robust(sender, **kwargs)
 
 To send a signal, call either :meth:`Signal.send` or :meth:`Signal.send_robust`.
-You must provide the ``sender`` argument, and may provide as many other keyword
-arguments as you like.
+You must provide the ``sender`` argument (which is a class most of the time),
+and may provide as many other keyword arguments as you like.
 
 For example, here's how sending our ``pizza_done`` signal might look:
 
@@ -257,7 +258,7 @@ For example, here's how sending our ``pizza_done`` signal might look:
         ...
 
         def send_pizza(self, toppings, size):
-            pizza_done.send(sender=self, toppings=toppings, size=size)
+            pizza_done.send(sender=self.__class__, toppings=toppings, size=size)
             ...
 
 Both ``send()`` and ``send_robust()`` return a list of tuple pairs