Найти - Пользователи
Полная версия: Мультиязычность. Проблема с записью в куки.
Начало » Django » Мультиязычность. Проблема с записью в куки.
1
PmLoop
Добрый день! Возникла проблема, при переходе с одного сайта на другой, необходимо реализовать сохранение текущего языка путём запроса. То есть, пользователь находясь на одном сайте, сделав определённые манипуляции с языками этого сайта, переходя на другой сайт, использовал определённый ранее язык. Реализовать запросом, что-то типа : 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
В этом виде, т.е. при использовании сессий, проблем также нет. Как сделать сохранение языка из запроса в куки?
PmLoop
Пробовал переписать следующим образом:
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
Не работает, и непонятно, что делать с response.
kachayev
Не, это нужно сделать в функции

def process_response(self, request, response):
# cookies processing
PmLoop
Да, спасибо за помошь! Работает=)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB