如何重写Django的信号处理程序?

2024-05-19 01:46:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django shop应用程序中,注册的信号处理程序可以执行某些操作,例如将商品添加到购物车中。在

我想在localsite/models.py中用我自己的版本替换这个处理程序,也就是说,不接触原始源代码。在

如果只是调用connect方法

signals.satchmo_cart_add_verify.connect(my_veto_out_of_stock)

自定义处理程序将追加到当前收件人的列表中,原始处理程序仍将获得一个操作:

^{pr2}$

我可以提前移除原始处理程序

for hnd in signals.satchmo_cart_add_verify.receivers:
    del hnd

但发现它又丑又丑。在

那么,更换信号处理器的正确方法是什么呢?在

谢谢


Tags: django方法程序add应用程序处理程序connectshop
1条回答
网友
1楼 · 发布于 2024-05-19 01:46:58

你试过了吗?在

signals.satchmo_cart_add_verify.disconnect(
    signals.satchmo_cart_add_verify.receivers[0][1]())

这条路在我看来很清楚

相关问题 更多 >

    热门问题