django-cms:错误的当前页面语言

Posted

技术标签:

【中文标题】django-cms:错误的当前页面语言【英文标题】:django-cms: wrong current page language 【发布时间】:2012-12-05 21:51:41 【问题描述】:

我有一个多语言网站(it、en、ru),它使用 django-cms 和一些应用程序连接到不同的页面。我的问题是内容始终以意大利语提供,即使我访问以“/en/”或“/ru/”为前缀的页面。 在我的基本模板 (base.html) 上,我有一个 lang 模板变量,它允许我检索当前页面语言,它工作得很好......直到今天。现在如果我访问 wwww.myhomepage/en(或 /ru),'lang' 的值为总是“它”。

这些是我的语言设置(cms 而不是 cms)以及与语言相关的其他设置:

LANGUAGE_CODE = 'it' 

DEFAULT_LANGUAGE = 0

LANGUAGES = (
    ('it', gettext(u'Italiano')),
    ('en', gettext(u'English')),
    ('ru', gettext(u'Russian')),     )                                                                                                                                                                  

CMS_LANGUAGES = (
    ('it', ugettext('Italian')),
    ('en', ugettext('English')),
    ('ru', ugettext('Russian')),
)

LOCALE_PATHS = (os.path.join(PROJECT_PATH, 'locale'))

CMS_LANGUAGE_CONF = 
    'it': ['en'],
    'ru': ['en'],
      

CMS_HIDE_UNTRANSLATED = False

    MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'cms.middleware.multilingual.MultilingualURLMiddleware',
     'cms.middleware.page.CurrentPageMiddleware',
     'cms.middleware.user.CurrentUserMiddleware',
     'cms.middleware.toolbar.ToolbarMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'cms.middleware.multilingual.MultilingualURLMiddleware',
     'cms.middleware.page.CurrentPageMiddleware',
     'cms.middleware.user.CurrentUserMiddleware',
     'debug_toolbar.middleware.DebugToolbarMiddleware',
     'cms.middleware.multilingual.MultilingualURLMiddleware',
     'cms.middleware.page.CurrentPageMiddleware',
     'cms.middleware.user.CurrentUserMiddleware',
     'cms.middleware.toolbar.ToolbarMiddleware'
)

有什么帮助吗? 谢谢

【问题讨论】:

【参考方案1】:

您有多个在您的设置中重复出现的中间件。它们应该看起来像这样:

MIDDLEWARE_CLASSES = (
 'django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',

 'cms.middleware.multilingual.MultilingualURLMiddleware',
 'cms.middleware.page.CurrentPageMiddleware',
 'cms.middleware.user.CurrentUserMiddleware',
 'cms.middleware.toolbar.ToolbarMiddleware',
)

另外,您能否也提供您的CONTEXT_PROCESSOR 设置?

然后,我假设您使用的是 Django-cms

【讨论】:

以上是关于django-cms:错误的当前页面语言的主要内容,如果未能解决你的问题,请参考以下文章

当前页面的脚本发生错误该怎么处理

当前页面的脚本发生错误。是怎么回事?

谁能帮我解决《当前页面脚本发生错误》的问题?

VMware虚拟机安装时“当前页面的脚本发生错误”,如何解决?

js 刷新当前页

有时我打开网页总是会提示“当前页的脚本发生错误”请问这是怎么回事?