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

mda*_*acz 3 python django internationalization django-cms

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

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

Dan*_*ida 5

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

如果你不这样做的代码(it,en在URL或其他),通过改变URL模式登记:

urlpatterns = i18n_patterns('',
    url(r'^', include('cms.urls')),
)
Run Code Online (Sandbox Code Playgroud)

 urlpatterns = patterns('',
    url(r'^', include('cms.urls')),
)
Run Code Online (Sandbox Code Playgroud)

将失去对多种语言版本内容的访问权限.

这样做仅适用于单语言站点.

有关更多信息,请参阅django CMS国际化文档.

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

不幸的是,您必须在单语言站点或接受包含语言slug的URL之间进行选择.您当然可以共享没有语言slug的URL ,在这种情况下,系统将通过各种线索回退以找到所需的语言 - 然后当然会重定向到包含代码的URL.

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

也许有一种情况允许不同的行为,但目前,这就是事情的立场.