summaryrefslogtreecommitdiff
path: root/django/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'django/middleware')
-rw-r--r--django/middleware/locale.py7
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',))