python - 是否可以在不在 URL 中使用语言代码的情况下拥有多语言 django CMS 站点?

标签 python django internationalization django-cms

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

如果不能实现,限制的原因是什么?

最佳答案

目前无法满足您的要求。

如果您在 URL 中没有代码(iten 或其他),通过更改 URL 模式注册:

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

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

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

这样做仅适用于单语言网站

参见 django CMS internationalisation documentation了解更多。

的确,CMS 也会记录 session 和 cookie,但它们实际上重定向 到正确的语言代码 - 丢失它,您将永远不会被重定向到所需的语言。

不幸的是,您将不得不在单一语言站点或接受包含语言段的 URL 之间做出选择。您当然可以共享 没有 语言段的 URL,在这种情况下系统将 fall back through various clues找到所需的语言 - 然后当然会重定向到包含代码的 URL。

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

也许有理由允许不同的行为,但目前情况就是这样。

关于python - 是否可以在不在 URL 中使用语言代码的情况下拥有多语言 django CMS 站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37049864/

相关文章:

python - 如何在Python和beautifulsoup中从CDATA中提取数据?

python - 无法导入 random.randint

python - 重定向到另一个域的 Django View

Python Tweepy 编码(utf-8)

使用 GNU gettext、libunistring 的 C++ l10n、i18n 解决方案

c - MPFR、printf、小数位、语言环境、文件 i/o 问题

python - 基于代理的模拟 : performance issue: Python vs NetLogo & Repast

python - 为什么我的程序返回 "No review v1"而不是返回有评论的产品的平均评论?(网络抓取,python)

javascript - 如何在 Django 项目中访问 Javascript 内的媒体文件?

python - 如何在 django View 中显示带有超链接的树结构