我希望i18n.set_language()
將語言存儲到用戶選擇語言時最終可用的user profile。Django - 可以i18n.set_language()存儲在用戶配置文件
Django也應該用這個來discover我的語言。
這是一個好主意嗎?如果是,我怎麼能這樣做?
我希望i18n.set_language()
將語言存儲到用戶選擇語言時最終可用的user profile。Django - 可以i18n.set_language()存儲在用戶配置文件
Django也應該用這個來discover我的語言。
這是一個好主意嗎?如果是,我怎麼能這樣做?
見How to override a view from an external Django app -> How to override without forking -> Overriding a view使 「i18n.set_language()的語言存儲到最終可用的用戶配置文件」
複製django-user-accounts middleware和改變get_language_for_user
。
地點後django.middleware.locale.LocaleMiddleware
中間件,因爲這臺基於請求的默認語言,以便仍然對匿名用戶有用,所以你想你自己的中間件在此之前執行。
我做到了,但我不知道把它放在'MIDDLEWARE_CLASSES'中,我必須刪除'django.middleware.locale.LocaleMiddleware'嗎?另外我不知道如何覆蓋'i18n.set_language()'來獲取存儲在配置文件中的語言。 –
對不起,我錯過了關於set_language的部分,回答更新(有關將中間件放置在設置中的說明,以及讀取Django源代碼之後)。 – jpic
我會嘗試查看覆蓋。另外中間件也必須放在'django.contrib.auth.middleware.AuthenticationMiddleware'後面 –
[django-user-accounts](http://django-user-accounts.readthedocs.org/en/latest/index.html)處理這個問題。 – jpic
其實我已經使用_django-registration_做了_django-user-accounts_的一部分工作,並且我已經配置了一個用戶配置文件。這就是爲什麼我想知道如何手動。 –