我想发送一个电子邮件,如果一个订单是下(目前只有用户谁已下订单收到电子邮件)。order_paced奥斯卡信号在这里对我有用。在
为此,我已经分叉了order
应用程序,在这个应用程序中,order_placed
函数是在signals.py
中创建的。我也在config.py
中导入了信号,但当我从站点下订单时,order_placed
仍然没有被触发。在
有谁能分享奥斯卡信号用法的例子吗?在
代码:
config.py
from oscar.apps.order import config
class OrderConfig(config.OrderConfig):
name = 'catalogue.order'
def ready(self):
from oscar.apps.order import signals
signals.py
这不需要信号,因为支付流(框架)的一部分oscar提供了视图:
PaymentDetailsView
,它及时实现了mixinOrderPlacementMixin
。在在这样的mixin中,您将找到方法:
handle_successful_order
,这是发送消息的正确位置,并执行其他操作以确保订单已被放置。在因此,不要fork
order
app,forkcheckout
app并重写此方法,以便执行以下操作:如果你在oscar中读这个方法的代码,你会发现这里确实是oscar通知用户刚刚下单的地方。在
当然,我们不能忽略docstring,它声明:
^{pr2}$相关问题 更多 >
编程相关推荐