Форум сайта python.su
Добрый день! Возникла проблема, при переходе с одного сайта на другой, необходимо реализовать сохранение текущего языка путём запроса. То есть, пользователь находясь на одном сайте, сделав определённые манипуляции с языками этого сайта, переходя на другой сайт, использовал определённый ранее язык. Реализовать запросом, что-то типа : secondsite.com/?language=en. C формированием запроса проблем нет. Проблема с обработкой. Был создан и подключён свой middleware:
from django.middleware.locale import LocaleMiddleware
from django.utils import translation
class SwitchLocaleMiddleware(LocaleMiddleware):
def process_request(self, request):
if 'language' in request.GET:
request.session['django_language'] = request.GET['language']
language = translation.get_language_from_request(request)
translation.activate(language)
request.LANGUAGE_CODE = language
Офлайн
Офлайн
Пробовал переписать следующим образом:
from django.middleware.locale import LocaleMiddleware
from django.utils import translation
from django.http import HttpResponse
class SwitchLocaleMiddleware(LocaleMiddleware):
def process_request(self, request):
if 'language' in request.GET:
response = HttpResponse()
response.set_cookie(key='django_language', value=request.GET['language'])
language = translation.get_language_from_request(request)
translation.activate(language)
request.LANGUAGE_CODE = language
Офлайн
Не, это нужно сделать в функции
def process_response(self, request, response):
# cookies processing
Офлайн
Да, спасибо за помошь! Работает=)
Офлайн