From a7732e136d79dd434e0fea281d13bac8f31c1344 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 17 Oct 2017 12:44:49 +0300 Subject: [PATCH] Add language middleware --- sikweb/base.py | 1 + sikweb/middleware.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 sikweb/middleware.py diff --git a/sikweb/base.py b/sikweb/base.py index 3b7637f..527c645 100644 --- a/sikweb/base.py +++ b/sikweb/base.py @@ -99,6 +99,7 @@ NOSE_ARGS = [ ] MIDDLEWARE_CLASSES = [ + 'sikweb.middleware.ForceDefaultLanguageMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', diff --git a/sikweb/middleware.py b/sikweb/middleware.py new file mode 100644 index 0000000..ac56199 --- /dev/null +++ b/sikweb/middleware.py @@ -0,0 +1,13 @@ +class ForceDefaultLanguageMiddleware(object): + """ + Ignore Accept-Language HTTP headers + + This will force the I18N machinery to always choose settings.LANGUAGE_CODE + as the default initial language, unless another one is set via sessions or cookies + + Should be installed *before* any middleware that checks request.META['HTTP_ACCEPT_LANGUAGE'], + namely django.middleware.locale.LocaleMiddleware + """ + def process_request(self, request): + if 'HTTP_ACCEPT_LANGUAGE' in request.META: + del request.META['HTTP_ACCEPT_LANGUAGE']