是否可以在URL中使用多语言的django CMS网站而不使用语言代码?

时间:2016-05-05 11:50:28

标签: python django internationalization django-cms

是否可以在django CMS 中使用URL中的语言代码使用多语言内容,因为django CMS还使用会话和Cookie来跟踪用户的首选语言?

如果无法实现,限制的原因是什么?

1 个答案:

答案 0 :(得分:5)

目前,您所需要的是不可能的。

如果您没有网址中的代码(iten或其他内容),请更改以下网址模式注册:

urlpatterns = i18n_patterns('',
    url(r'^', include('cms.urls')),
)

 urlpatterns = patterns('',
    url(r'^', include('cms.urls')),
)

将无法访问内容的多种语言版本。

此操作仅适用于单语言网站

有关详情,请参阅django CMS internationalisation documentation

CMS确实记录了会话和cookie,但实际上这些重定向仍然是正确的语言代码 - 失去了它,你永远不会被重定向到所需的语言。

不幸的是,您必须在单一语言网站或接受包含语言障碍的网址之间进行选择。您当然可以分享 拥有语言slug的网址,在这种情况下,系统将fall back through various clues找到所需的语言 - 然后将当然,重定向到包含代码的URL。

至于为什么,内容管理系统的基本原则是这种公共URL应该可靠地指向相同的内容,而不是潜在的意外内容。

也许存在允许不同行为的情况,但目前,情况就是这样。