【发布时间】:2020-11-16 13:04:32
【问题描述】:
我正在尝试在沙盒应用中设置信号接收器。我使用以下代码创建了/sandbox/signals/receivers.py:
import logging
from django.dispatch import receiver
from oscar.apps.catalogue.signals import product_viewed
@receiver(product_viewed)
def receive_product_view(sender, product, user, **kwargs):
logging.info("receive_product_view")
if user and user.is_authenticated:
logging.info("Product {product} viewed by user {user}")
else:
logging.info("Product {product} viewed anonymously")
这似乎没有任何作用。在/sandbox/__init__.py 我做import signals 和我有/sandbox/signals/__init__.py 做import receivers 所以我假设它在启动时加载该模块(这可能是一个错误的假设)。
当我在浏览器中加载产品页面时,我在控制台日志中看不到任何内容。是不是我的日志记录设置错误,或者这是连接信号接收器的错误方式?
【问题讨论】:
标签: django-oscar