如何实现保留用户语言、重定向至对应语言主页的注销模型
实现保留用户语言的注销重定向逻辑
要实现注销后重定向至对应用语言的主页,核心是获取用户当前使用的语言代码,再拼接成目标路径。
硬编码路径实现方案
直接通过request.LANGUAGE_CODE获取当前激活的语言代码,拼接主页路径:
class LogOut(Page): def serve(self, request): # 获取当前用户使用的语言代码(如fr、en) current_lang = request.LANGUAGE_CODE # 重定向至对应语言的主页 return HttpResponseRedirect(f'/home/{current_lang}/')
推荐:基于命名URL的实现方案
如果项目使用了命名URL配置,建议用reverse函数生成路径,避免硬编码的维护问题:
from django.urls import reverse class LogOut(Page): def serve(self, request): current_lang = request.LANGUAGE_CODE # 假设主页的命名URL为'home',且接受language参数 target_url = reverse('home', kwargs={'language': current_lang}) return HttpResponseRedirect(target_url)
关键说明
request.LANGUAGE_CODE是Django国际化框架提供的属性,会自动识别用户的语言偏好(从会话、Cookie或请求头中获取),返回对应的语言代码。
内容的提问来源于stack exchange,提问作者Taneef
相关产品推荐
相关产品推荐

