← 返回首页
Reinstate dj1.6 fallback which coincidentially also covers dj4 :-) · feincms/feincms@fe147ec · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

Commit fe147ec

Browse files
Martin J. Laubach
committed
Reinstate dj1.6 fallback which coincidentially also covers dj4 :-)
1 parent c99476b commit fe147ec

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

‎feincms/extensions/translations.py‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@
3535
logger = logging.getLogger(__name__)
3636

3737
LANGUAGE_COOKIE_NAME: str = django_settings.LANGUAGE_COOKIE_NAME
38-
try:
38+
if hasattr(translation, "LANGUAGE_SESSION_KEY"):
3939
LANGUAGE_SESSION_KEY = translation.LANGUAGE_SESSION_KEY
40-
except AttributeError: # stopgap measure for django >= 4, need to revisit this later
41-
LANGUAGE_SESSION_KEY = '_language'
40+
else:
41+
# stopgap measure for django >= 4, need to revisit this later
42+
LANGUAGE_SESSION_KEY = LANGUAGE_COOKIE_NAME
43+
4244
PRIMARY_LANGUAGE: str = django_settings.LANGUAGES[0][0]
4345

4446
# ------------------------------------------------------------------------

‎tests/testapp/tests/test_extensions.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ def testPage(self):
7474
# TODO: add request tests
7575
# with translation.override('de'):
7676

77-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
7877
def test_user_has_language_set_with_session(self):
7978
factory = RequestFactory()
8079
request = factory.get(self.page_en.get_navigation_url())
@@ -89,7 +88,6 @@ def test_user_has_language_set_with_cookie(self):
8988

9089
self.assertEqual(user_has_language_set(request), True)
9190

92-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
9391
def test_translation_set_language_to_session(self):
9492
factory = RequestFactory()
9593
request = factory.get(self.page_de.get_navigation_url())
@@ -99,14 +97,14 @@ def test_translation_set_language_to_session(self):
9997
self.assertEqual(request.LANGUAGE_CODE, "de")
10098
self.assertEqual(request.session[self.language_session_key], "de")
10199

102-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
103100
def test_translation_set_language_to_session_primary(self):
104101
factory = RequestFactory()
105102
request = factory.get(self.page_en.get_navigation_url())
106103
setattr(request, "session", dict())
107104
translation_set_language(request, "en")
108105

109106
self.assertEqual(request.LANGUAGE_CODE, "en")
107+
# We avoid setting the translation language to the primary language, so should not be set
110108
self.assertEqual(request.session.get(self.language_session_key, 'unset'), "unset")
111109

112110
def test_translation_set_language_to_cookie(self):

0 commit comments

Comments
 (0)

Footer

© 2026 GitHub, Inc.