2016-04-23 14 views
3

私のウェブサイトは英語ではありませんが、Django管理者を英語のみで表示します。Django管理者に英語での表示を強制します。

LANGUAGE_CODEの設定に関係なく、Django管理者に強制的に英語で表示することはできますか?

+0

は、あなたがこれまでに試したものを見るためにいくつかのコードを表示します。 –

答えて

3

私が知っている限り、この機能のためのボックス設定はありませんが、ミドルウェアで簡単にコーディングできます。アプリの一つにmiddleware.pyファイルにこのコードを追加します。

from django.utils import translation 

class AdminLocaleMiddleware(object): 

    def process_request(self, request): 
     if request.path.startswith('/admin'): 
      translation.activate("en") 
      request.LANGUAGE_CODE = translation.get_language() 

はLocaleMiddleware後、あなたの設定にAdminLocaleMiddlewareを追加します。

MIDDLEWARE_CLASSES = [ 
    ... 
    "django.middleware.locale.LocaleMiddleware", 
    "your_app.middleware.AdminLocaleMiddleware", 
    ... 
] 
+0

'request.path'を使う代わりに' request.resolver_match.app_name'をテストすることもできます – r3m0t

関連する問題