Django - 可以在用户个人资料中存储i18n.set_language()

Pie*_*NAY 3 python django internationalization django-users

我希望i18n.set_language()用户选择语言时将语言存储到最终可用的用户配置文件中.

Django也应该用它来发现我的语言.

这是个好主意吗 ?如果是,我怎么能这样做?

jpi*_*pic 7

  1. 请参阅如何从外部Django应用程序覆盖视图 - >如何覆盖而不分叉 - >覆盖视图以使"i18n.set_language()将语言存储到最终可用的用户配置文件中"

  2. 复制django-user-accounts中间件并进行更改get_language_for_user.

  3. 之后放置中间件django.middleware.locale.LocaleMiddleware,因为这会根据请求设置默认语言,这样对匿名访问者仍然有用,所以您希望在自己的中间件之前执行此操作.