【问题标题】:Configuring multilingual content in django-cms site; list_display issue在 django-cms 站点中配置多语言内容; list_display 问题
【发布时间】:2019-09-04 07:49:26
【问题描述】:

我正在尝试为 divio 平台上的 django-cms 站点添加多语言支持。我相信相关的divio docs 已经过时,因为侧边栏中不再存在“常规设置”链接以通过上面链接中描述的 divio Web 界面添加语言。相反,现在有一个“设置”链接,但那里没有语言字段。

因此,我手动将以下内容添加到我的 settings.py 文件中:

from django.utils.translation import gettext_lazy as _

LANGUAGES = [
    ("en", _("English")),
    ("de", _("German")),
    ("es", _("Spanish")),
]

CMS_LANGUAGES = {
    1: [
        {"code": "en", "name": _("English"), "fallbacks": ["de", "es"], "public": True},
        {"code": "de", "name": _("German"), "fallbacks": ["en", "es"], "public": True},
        {"code": "es", "name": _("Spanish"), "fallbacks": ["en", "de"],
            "public": False,},
    ],
    "default": {
        "fallbacks": ["en", "de", "es"],
        "redirect_on_fallback": True,
        "public": True,
        "hide_untranslated": False,
    },
}

PARLER_LANGUAGES = {
    1: ({"code": "en"}, {"code": "de"}, {"code": "es"}),
    "default": {
        "fallbacks": ["en", "de", "es"],
        "hide_untranslated": False, 
    },

似乎一切正常,但 list_display 中的翻译列存在一个小问题(在管理员中),当链接不是实际的翻译链接时,链接显示为字符串,如您在以下 aldryn 屏幕截图中所见-newsblog文章列表:

在后台,这个 list_display 条目是由aldryn_translation_tools 添加的,似乎由于某种原因,在 html 中附加了一个字符串而不是锚标记。如:

<td>
  "<a></a>"
</td>

代替:

<td>
  <a></a>
</td>

关于可能导致此问题的任何想法?我的配置设置正确吗?

【问题讨论】:

    标签: django-cms django-i18n divio django-parler


    【解决方案1】:

    感谢您指出过时的帮助文章,我们会对其进行更新。

    语言设置现在位于 Aldryn Django 插件配置中:Addons > Aldryn Django

    当然,您也可以在settings.py 中进行语言设置。

    【讨论】:

    • 谢谢。仅供参考 - 语言代码链接未正确显示的具体问题似乎与 django 版本有关。当我从 2.1.x 降级到 1.11.x 时它已解决
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2012-07-26
    相关资源
    最近更新 更多