更改语言环境Django的管理工具(Change locale for django-admin-t

2019-07-30 02:27发布

在我的settings.py文件我有:

LANGUAGE_CODE = 'ru-RU'

还有,我已经安装和工作Django的管理工具。 但是,管理员仍语言英语。 我做错了吗?

PS。

$ cat settings.py | grep USE | grep -v USER
USE_I18N = True
USE_L10N = True
USE_TZ = True

Answer 1:

您需要专门设置语言管理应用。 由于Django不提供语言下拉作为默认登录的一部分,你有几种选择:

  1. 登录到您的正常(非管理员视图),具有超级用户/人员凭据和正确的语言,然后转移到管理URL。

  2. 更新管理模板,并添加一个语言下拉看到这个片段 。

  3. 创建一些自定义的中间件来设置语言管理:

     from django.conf import settings from django.utils import translation class AdminLocaleMiddleware: def process_request(self, request): if request.path.startswith('/admin'): request.LANG = getattr(settings, 'ADMIN_LANGUAGE_CODE', settings.LANGUAGE_CODE) translation.activate(request.LANG) request.LANGUAGE_CODE = request.LANG 

    将它添加到您的MIDDLEWARE_CLASSES

     MIDDLEWARE_CLASSES = { # ... 'foo.bar.AdminLocaleMiddleware', # ... } 

    设置要在管理员的语言settings.py

     ADMIN_LANGUAGE_CODE = 'ru-RU' 


Answer 2:

检查您是否有翻译和本地化您启用settings.py

USE_I18N = True
USE_L10N = True

同时检查是否有翻译文件( .mo.po )俄罗斯。



文章来源: Change locale for django-admin-tools