【发布时间】:2022-10-18 10:14:05
【问题描述】:
我想更改自定义中间件中的语言。由于某种原因,下面的代码不起作用。
class LanguageMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
print('set language to spanish...')
translation.activate("es")
request.LANGUAGE_CODE = "es"
response = self.get_response(request)
translation.deactivate()
return response
设置.py
LANGUAGES = (
("en", "English"),
("es", "Spanish"),
)
LOCALE_PATHS = (os.path.join(BASE_DIR, "locale"),)
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = "en"
如果我将 LANGUAGE_CODE 的设置更改为“es”,我会收到西班牙语 API 响应,但我希望能够在我的中间件中以编程方式更改它。
【问题讨论】:
-
你解决了吗?
标签: django django-rest-framework internationalization