From b258537890db039549cd7cf53fbc2ff22541946e Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Tue, 5 Aug 2025 15:50:14 +0800 Subject: [PATCH] fix: Fallback to browser language if user language is not set --- apps/authentication/views/login.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/authentication/views/login.py b/apps/authentication/views/login.py index 6edb01acd..1c39e4c54 100644 --- a/apps/authentication/views/login.py +++ b/apps/authentication/views/login.py @@ -16,7 +16,7 @@ from django.http import HttpRequest from django.shortcuts import reverse, redirect from django.urls import reverse_lazy from django.utils.decorators import method_decorator -from django.utils.translation import gettext as _, get_language +from django.utils.translation import gettext as _, get_language, get_language_from_request from django.views.decorators.cache import never_cache from django.views.decorators.csrf import csrf_protect from django.views.decorators.debug import sensitive_post_parameters @@ -298,9 +298,11 @@ class UserLoginGuardView(mixins.AuthMixin, RedirectView): from django.utils import timezone response = super().get(request, *args, **kwargs) try: + + lang = request.user.lang if request.user.lang else get_language_from_request(request, check_path=False) response.set_cookie( settings.LANGUAGE_COOKIE_NAME, - request.user.lang, + lang, expires=timezone.now() + timezone.timedelta(days=365) ) except Exception: