强制Django管理员以英语显示

强制Django管理员以英语显示,django,django-admin,Django,Django Admin,我的网站是不是在英语,但我想Django管理员只显示在英语 如何强制Django管理员以英语显示,而不考虑语言\u code设置?据我所知,此功能没有现成的设置,但您可以轻松地在中间件中对其进行编码。将以下代码添加到某个应用程序的middleware.py文件中: from django.utils import translation class AdminLocaleMiddleware(object): def process_request(self, request):

我的网站是不是在英语,但我想Django管理员只显示在英语


如何强制Django管理员以英语显示,而不考虑
语言\u code
设置?

据我所知,此功能没有现成的设置,但您可以轻松地在中间件中对其进行编码。将以下代码添加到某个应用程序的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()
在LocalEmidlware之后将AdminLocalEmidlware添加到设置中:

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

对于Django 2.0:

from django.utils import translation


class AdminLocaleMiddleware:

    def __init__(self, process_request):
        self.process_request = process_request

    def __call__(self, request):

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

        response = self.process_request(request)

        return response

显示一些代码以查看您迄今为止所尝试的内容。您也可以测试
请求。解析程序匹配。应用程序名称
请在回答时提供一些额外的解释,而不仅仅是粘贴代码()。这与@ozren1983对Django 1的回答有什么不同?@ozren1983对Django 2的回答: