【问题标题】:wagtail search_backend multilanguagewagtail search_backend 多语言
【发布时间】:2019-12-07 09:43:59
【问题描述】:

wagtail 文档说 PostgreSQL 搜索对于相对较小的网站来说是一个不错的选择。文档展示了如何设置搜索后端。

WAGTAILSEARCH_BACKENDS = {
    'default': {
        'BACKEND': 'wagtail.contrib.postgres_search.backend',
        'SEARCH_CONFIG': 'english',
    }
}

docs wagtail

但是,我正在创建的网站不止一种语言。如何在 WAGTAILSEARCH_BACKEND 中配置其他语言?

'SEARCH_CONFIG': ['english', 'dutch'] 可能吗?文档没有说任何关于它的内容。

【问题讨论】:

    标签: wagtail wagtail-search


    【解决方案1】:

    我想我找到了方法。如果能看到确认就好了。 Wagtail 有这个 from wagtail.search.backends import get_search_backend

    如果你查看源代码可以看到你可以在调用这个函数时定义一个后端

    s = get_search_backend(backend=default)

    因此,您可以通过首先调用此函数并根据语言切换到其他后端来即时切换后端。

    鹡鸰太酷了!

    【讨论】:

      【解决方案2】:

      回答一个老问题,但也许有人觉得这很有用,因为我刚刚遇到了这个需求。

      在您的默认设置(保留为备用)之后,使用语言代码为每种语言创建一个后端配置。

      WAGTAILSEARCH_BACKENDS = {
          'default': {
              'BACKEND': 'wagtail.contrib.postgres_search.backend',
              'SEARCH_CONFIG': 'english',
          },
          'en': {
              'BACKEND': 'wagtail.contrib.postgres_search.backend',
              'SEARCH_CONFIG': 'english',
          },
          'nl': {
              'BACKEND': 'wagtail.contrib.postgres_search.backend',
              'SEARCH_CONFIG': 'dutch',
          },
      }
      

      现在您可以从

      获取当前语言的后端
      s = get_search_backend(backend=Locale.get_active().language_code)
      

      这些是 POSTGRES 中的默认语言

      $ psql -c "\dF"
      

      架构 |姓名 |描述 ------------+------------+------------ --------------- pg_catalog |丹麦语 |丹麦语的配置 pg_catalog |荷兰语 |荷兰语配置 pg_catalog |英语 |英文配置 pg_catalog |芬兰语 |芬兰语配置 pg_catalog |法语 |法语配置 pg_catalog |德语 |德语配置 pg_catalog |匈牙利语|匈牙利语配置 pg_catalog |意大利语 |意大利语配置 pg_catalog |挪威语|挪威语配置 pg_catalog |葡萄牙语 |葡萄牙语的配置 pg_catalog |罗马尼亚语|罗马尼亚语配置 pg_catalog |俄语 |俄语配置 pg_catalog |简单 |简单的配置 pg_catalog |西班牙语 |西班牙语配置 pg_catalog |瑞典语 |瑞典语配置 pg_catalog |土耳其语 |土耳其语配置

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-12
        • 2015-07-18
        • 2012-05-04
        • 2011-05-04
        相关资源
        最近更新 更多