0

我不想使用 Default Satchmo 搜索侦听器。我创建了自己的搜索侦听器。

断开默认搜索侦听器的最佳位置在哪里?

# This is what I need to do...
from satchmo_store.shop.listeners import default_product_search_listener
application_search.disconnect(default_product_search_listener, sender=Product)

我试图在我的应用程序__init__.py和我的应用程序中执行此操作models.py,但是这两个似乎都Satchmo 实际上connect是 Signal 之前运行,因此它们没有正确断开连接。我在哪里可以运行我的断开代码,这样我才能确定 Satchmo 已经连接了它的监听器?

4

2 回答 2

1

尝试在 INSTALLED_APPS 中交换 Satchmo 和您的应用程序的顺序。

于 2011-03-27T01:30:15.860 回答
1

Where To Put Django Startup Code更普遍地回答了这个问题。

在init中编写执行此操作的中间件,然后从init中引发 django.core.exceptions.MiddlewareNotUsed ,django 将为所有请求删除它...

请参阅有关编写您自己的中间件的 Django文档。

于 2011-03-28T20:36:06.980 回答