首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >强制Django管理员以英语显示

强制Django管理员以英语显示
EN

Stack Overflow用户
提问于 2016-04-23 10:18:36
回答 2查看 1.1K关注 0票数 4

我的网站不是英语,但我希望Django管理只能用英语显示。

无论LANGUAGE_CODE设置如何,我如何强制Django管理员以英语显示?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-23 15:20:24

据我所知,此功能没有开箱即用的设置,但您可以轻松地在中间件中对其进行编码。将此代码添加到一个middleware.py文件到您的应用程序中:

代码语言:javascript
运行
复制
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()

将AdminLocaleMiddleware添加到LocaleMiddleware之后的设置中:

代码语言:javascript
运行
复制
MIDDLEWARE_CLASSES = [
    ...
    "django.middleware.locale.LocaleMiddleware",
    "your_app.middleware.AdminLocaleMiddleware",
    ...
]
票数 7
EN

Stack Overflow用户

发布于 2018-05-13 19:41:44

对于Django 2.0

代码语言:javascript
运行
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36809492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档