django CMS的扩展,提供多语言Haystack索引。
项目描述
Aldryn Search
此软件包提供用于简化与django CMS集成的Haystack 2搜索索引。
已弃用的项目 Divio Aldryn搜索 的延续。
贡献
这是一个开源项目。我们期待收到您以问题和拉取请求形式提供的反馈。在提交您的拉取请求之前,请查阅我们的 贡献指南。
我们对所有帮助创建和维护此包的贡献者表示感激。贡献者名单列在 贡献者 部分。
用法
通过您选择的包管理器安装 aldryn-search 后,将 aldryn_search 添加到您的 INSTALLED_APPS 中。如果您运行的是多语言 CMS 设置,必须为每种使用的语言定义一个 haystack 后端。
HAYSTACK_CONNECTIONS = { 'en': { 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', 'URL': 'http://my-solr-server/solr/my-site-en/', 'TIMEOUT': 60 * 5, 'INCLUDE_SPELLING': True, 'BATCH_SIZE': 100, }, 'fr': { 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', 'URL': 'http://my-solr-server/solr/my-site-fr/', 'TIMEOUT': 60 * 5, 'INCLUDE_SPELLING': True, 'BATCH_SIZE': 100, }, }
为确保在搜索过程中使用正确的后端,请将 aldryn_search.router.LanguageRouter 添加到您的 HAYSTACK_ROUTERS 设置中。
HAYSTACK_ROUTERS = ['aldryn_search.router.LanguageRouter',]
在使用多种语言时,通常每种语言有一个搜索后端,在索引时知道当前使用的是哪种语言很重要,这可以通过 ALDRYN_SEARCH_LANGUAGE_FROM_ALIAS 设置来实现,此设置可以是可调用对象或指向一个的字符串路径。
请记住,通常在设置中导入东西不是一个好主意,然而在某些情况下,创建一个处理别名的函数似乎有点过度,例如
ALDRYN_SEARCH_LANGUAGE_FROM_ALIAS = lambda alias: alias.split('-')[-1]
上面的例子可以在使用多种语言和站点时使用,所有后端都可以有语言后缀。
这也可以通过在代码的其他地方定义一个函数来实现
ALDRYN_SEARCH_LANGUAGE_FROM_ALIAS = "my_app.helpers.language_from_alias"
如果上述任何返回 None,则使用 settings.LANGUAGE_CODE。
默认情况下,此设置评估为检查别名字典是否在 settings.LANGUAGES 中,如果是,则使用别名字符串作为语言。
有关完整的 Haystack 设置,请参阅其 文档。
有关更多信息,请参阅 文档文件夹。
与 django CMS 的集成
aldryn-search 附带了 django CMS 的 App Hook 和使用 Django 类视图的搜索视图。如果您想使用此应用钩子,您可以选择子类化它并自己注册它,或者将 ALDRYN_SEARCH_REGISTER_APPHOOK 设置为 True。
如果您想排除一些 CMS 插件进行索引,可以指定 ALDRYN_SEARCH_PLUGINS_EXCLUDE 设置如下
ALDRYN_SEARCH_EXCLUDED_PLUGINS = [ "PluginA", "PluginB" ]
对于分页,aldryn-search 使用 aldryn_common.paginator.DiggPaginator。如果您想使用此内置分页,请确保安装 django-spurl,然后将 spurl 添加到 INSTALLED_APPS。
分页
结果根据 ALDRYN_SEARCH_PAGINATION 设置进行分页(默认:10)。如果设置为 None,则禁用分页。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
djangocms_aldryn_search-2.0.2.tar.gz 的散列
算法 | 哈希值摘要 | |
---|---|---|
SHA256 | 02080591737fb62b7f0035b006f3a019218b934508e3fbbe36d7a885c044e724 |
|
MD5 | 9312d990d16d5710fbd3354517cbe2fd |
|
BLAKE2b-256 | 559dec999515b9012437553d652331f2889793faace233a50b21e6b536f09155 |
djangocms_aldryn_search-2.0.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希值摘要 | |
---|---|---|
SHA256 | c106e3693de6b3704265c86a64c275c8142a15ec69056b49b1c4a2fd2860eed2 |
|
MD5 | 5a456e42f85c78ca5954815e5a4ba638 |
|
BLAKE2b-256 | b01623f13638341854ada5eb2382f994ec738c453a93b33af285284ee87f18ed |