繁体   English   中英

Django如何知道用户来自哪个位置?

[英]How does Django know which location the user is from?

我正在阅读Django本地化文档: http : //docs.djangoproject.com/en/dev/topics/i18n/localization/

当然,用户来自何处决定使用什么“消息文件”。

如何确定用户来自何处以及使用什么? 它会自动执行吗?

如果要基于Django请求中的数据启用语言选择,则可以在设置中将Locale中间件添加到MIDDLEWARE_CLASSES中。

阅读Django如何发现语言偏好以了解详细信息。

来自文档

LocaleMiddleware尝试通过遵循以下算法来确定用户的语言偏好:

  • 首先,它在当前用户的会话中查找django_language键。

  • 如果失败,它将查找cookie。

  • 如果失败,它将查看Accept-Language HTTP标头。 该标头由您的浏览器发送,并按优先级告诉服务器您喜欢哪种语言。 Django会尝试使用标头中的每种语言,直到找到可用的翻译。

  • 如果失败,它将使用全局LANGUAGE_CODE设置。

语言选项不应基于用户的位置,而应基于浏览器设置或页面上的显式设置,因为位置不会定义用户的语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM