diff options
Diffstat (limited to 'django/middleware')
| -rw-r--r-- | django/middleware/locale.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/django/middleware/locale.py b/django/middleware/locale.py index 0bbdda3309..d90fc84152 100644 --- a/django/middleware/locale.py +++ b/django/middleware/locale.py @@ -53,7 +53,12 @@ class LocaleMiddleware(MiddlewareMixin): '%s%s/' % (script_prefix, language), 1 ) - return self.response_redirect_class(language_url) + # Redirect to the language-specific URL as detected by + # get_language_from_request(). HTTP caches may cache this + # redirect, so add the Vary header. + redirect = self.response_redirect_class(language_url) + patch_vary_headers(redirect, ('Accept-Language', 'Cookie')) + return redirect if not (i18n_patterns_used and language_from_path): patch_vary_headers(response, ('Accept-Language',)) |
