Bird
0
0

Given this code snippet, what will be printed when order_completed.send(sender=None, order_id=123) is called?

medium📝 component behavior Q4 of 15
Django - Signals
Given this code snippet, what will be printed when order_completed.send(sender=None, order_id=123) is called?

from django.dispatch import Signal, receiver

order_completed = Signal(providing_args=["order_id"])

@receiver(order_completed)
def notify(sender, **kwargs):
    print(f"Order {kwargs['order_id']} completed")
AOrder None completed
BOrder 123 completed
CError: missing sender argument
DNo output
Step-by-Step Solution
Solution:
  1. Step 1: Understand signal sending and receiving

    The signal is sent with order_id=123, and the receiver prints that value.
  2. Step 2: Check what the receiver prints

    The receiver prints "Order 123 completed" using the order_id from kwargs.
  3. Final Answer:

    Order 123 completed -> Option B
  4. Quick Check:

    Signal send with order_id=123 prints correct message [OK]
Quick Trick: Receiver prints kwargs values sent by signal [OK]
Common Mistakes:
MISTAKES
  • Assuming sender must not be None
  • Expecting error due to sender
  • Thinking no output occurs without return

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes