私は、Python 3.6とDjango 1.11を使用していた後に、ユーザが格納されている言語を活性化させます。私はDjangoのクラスベースの認証ビューとカスタムユーザモデルを使用しています。私のユーザーはデータベースに言語を保存しています。私は毎回ログインした後でこの言語を取得し、それを有効にしたいと思います。Djangoは:ログイン
私はuser_logged_in
信号を介してこれを行うには期待していたが、信号がどのような方法での応答に影響を与えることができないので、これは不可能です。
もう一つの方法は、私は避けたかったものですデフォルト認証ビューをオーバーライドすることです。
他の方法はありますか?ありがとうございました。最後に
あなたはまだ 'translation.activate(usr_lan)' –
感謝を介して信号におけるユーザーの言語を変更することができます。はい、私は 'activate'を使うことができますが、要求にはi18nパス( '/ en/route/...'など)があります。 'LocaleMiddleware'はURLから言語を優先させるので、問題は解決しません。私はリダイレクトすることができなければならないでしょう、そして、あなたはシグナルからすることはできません。 – petr
さて、いかが 'カスタムとLocaleMiddleware'' CustomLocaleMiddleware'を拡張し、 'process_request'は何とかlangの取得および設定? –