对于 django-cms-search 将是您的解决方案,一旦您切换到 >= 3.x,那么 aldryn-search 就是您的解决方案。
原因是aldryn-search 基本上是django-cms-search 的fork/refactor,目标是haystack 2.x 和cms 3.x
我正在考虑为 aldryn-search 添加向后兼容性以在 cms 2.4 上工作,但为了让您启动并运行,您可以执行以下操作。
安装django-cms-search 并将haystack 和cms_search 添加到您的INSTALLED_APPS 设置中。
这应该允许您已经开始索引页面,如果没有,请发布回溯:)。
一旦您能够索引页面,现在由您决定是否要使用 apphook 或固定 url 通过 cms 管理搜索页面。
通常在使用搜索时,需要调整一些内容并添加特定于搜索的模板,为此我强烈建议在您的项目中创建一个search 应用程序,添加一个models.py,然后将此应用程序添加到您的@987654332 @。
现在回到搜索页面,如果你选择使用 apphook,那么在你的搜索应用中,创建一个 cms_app.py 文件并添加以下内容:
from cms_search.cms_app import HaystackSearchApphook
apphook_pool.register(HaystackSearchApphook)
这会将来自 django-cms-search 的打包 apphook 注册到 cms(这在默认情况下会发生,但现在不会发生)。
否则,如果您选择不由 cms 管理的固定 url,您只需在搜索应用中添加 urls.py 即可:
from django.conf.urls import *
from haystack.views import search_view_factory
urlpatterns = patterns('search.views',
url('^$', search_view_factory(), name='haystack-search'),
)
然后在您的项目的urls.py 中,您可以将search.urls 包含在您想要的任何名称下,如下所示:
url(r'^search/', include('search.urls')),