Skip to content

Instantly share code, notes, and snippets.

@vstoykov
Last active June 6, 2024 10:51
Show Gist options
  • Save vstoykov/1366794 to your computer and use it in GitHub Desktop.
Save vstoykov/1366794 to your computer and use it in GitHub Desktop.
Force Django to use settings.LANGUAGE_CODE for default language instead of request.META['HTTP_ACCEPT_LANGUAGE']
try:
from django.utils.deprecation import MiddlewareMixin
except ImportError:
MiddlewareMixin = object
class ForceDefaultLanguageMiddleware(MiddlewareMixin):
"""
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']
@ionsurdu
Copy link

thanks, saved my day

@andre-fuchs
Copy link

Thanks everybody involved!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment