@receiver(product_viewed)
def receive_product_view(sender, product, user, request, response, **kwargs):
 return history.update(product, request, response)

@ receiver ( product_viewed ) def receive_product_view ( sender , product , user , request , response , ** kwargs ) : return history . update ( product , request , response )
receiver to handle viewing single product pages requires the request and response objects due to dependence on cookies .