2017-09-23 7 views
0

言語選択のリンクを追加するためにdjango-adminテンプレートをオーバーライドしています。 base_site.htmllogin.htmlの両方にdjangoのテンプレート間で言語を渡す方法admin

{% get_current_language as LANGUAGE_CODE %} 
{% get_available_languages as LANGUAGES %} 
{% get_language_info_list for LANGUAGES as languages %} 
{% for language in languages %} 
     <a href="/{{ language.code }}{{ request.get_full_path|slice:'3:' }}" 
      class="{% if language.code == LANGUAGE_CODE %}selected{% endif %}" 
      lang="{{ language.code }}"> 
      {{ language.name_local }} 
     </a> 

{% endfor %} 

は、私はこれを追加しました。 彼らは正常に動作します

問題は、私は常にダッシュボードでデフォルトの言語を取得することです。

私は、ログインページにFrenshを選択した場合は、ログインページがfrenshに翻訳されますが、私がログインした後、私はデフォルトの言語でのダッシュボードや他のページを見つける:たとえば

は、どのように私は私が最終的にそれを固定ログインページ

答えて

0

から選択した言語で、ダッシュボードを表示するために、この問題を解決することができます。

次のように私はlogin.htmlhrefを変更:

  <a href="/{{ language.code }}{{ request.get_full_path|slice:'3:23' }}{{ language.code }}/admin/" 

Infactは次のように、login URLは次のとおりです。/fr/admin/login/?next=/fr/admin/

ので、私は心の中で、次のページのURLを維持する必要があります。

実際のページslice:'3:'と次のページslice:':23'で言語コードを変更するだけで済みます。

関連する問題