class SetLanguageView(RedirectView):
url = reverse('home')
def get(self, request, *args, **kwargs):
response = super(self, SetLanguageView).get(request, *args, **kwargs)
lang = kwargs.get('lang')
if lang:
# To set the language for this session
request.session[settings.LANGUAGE_SESSION_KEY] = lang
# To set it as a cookie
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang,
max_age=settings.LANGUAGE_COOKIE_AGE,
path=settings.LANGUAGE_COOKIE_PATH,
domain=settings.LANGUAGE_COOKIE_DOMAIN)
return response
Django提供了一个非常类似于您正在尝试的解决方案。它叫做The set_language Redirect view。不同之处在于,它希望将语言作为POST参数。您可能需要考虑使用此解决方案,而不是自定义解决方案。你知道吗
如果这不是您想要的,您可以编写自己的重定向视图,将语言设置为
lang
,并重定向到site.com
在
urls.py
中,你会得到相关问题 更多 >
编程相关推荐