You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Django CMS页面树默认语言为荷兰语?

Django CMS默认语言设置为荷兰语的解决方案

针对你遇到的后台编辑默认英语、切换后再打开回到空白英语页面的问题,可通过以下配置调整解决:

1. 强化CMS_LANGUAGES的默认语言优先级

在现有CMS_LANGUAGES配置中,给荷兰语项添加default: True标记,并在全局默认配置中指定default_language:

CMS_LANGUAGES = {
    1: [
        {
            'code': 'nl',
            'name': _('Dutch'),
            'fallbacks': ['en', ],
            'public': True,
            'hide_untranslated': True,
            'redirect_on_fallback': False,
            'default': True,  # 标记为当前站点的默认编辑语言
        },
        {
            'code': 'en',
            'name': _('English'),
            'public': True,
        },
    ],
    'default': {
        'fallbacks': ['nl', 'en'],
        'redirect_on_fallback': False,
        'public': True,
        'hide_untranslated': True,
        'default_language': 'nl',  # 设置全局默认语言
    }
}

2. 添加全局默认语言配置

在settings.py中新增以下配置,直接指定Django CMS后台的默认编辑语言:

CMS_DEFAULT_LANGUAGE = "nl"

3. 验证中间件顺序(确保现有配置无误)

你的中间件顺序已经符合要求,无需调整:

  • django.middleware.locale.LocaleMiddleware位于SessionMiddleware之后、CommonMiddleware之前
  • cms.middleware.language.LanguageCookieMiddleware放在所有CMS中间件的最后

4. 解决切换编辑后显示空白英语页面的问题

该问题是因为荷兰语页面已发布,但英语版本未创建,且hide_untranslated设为True导致英语版本无内容显示。解决方式:

  • 创建页面时优先完成荷兰语版本编辑,再按需添加英语版本
  • 若需保留英语版本入口,可给英语语言配置添加hide_untranslated: False(不推荐,会显示空白内容)

5. 确保配置生效

  • 重启Django服务,让新配置加载
  • 若之前手动选择过英语作为后台语言,清除浏览器Cookie后重新登录,系统会优先使用配置的荷兰语

内容的提问来源于stack exchange,提问作者sitWolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:05:15