фон: представление называют, когда платежный сервис проверяет с помощью ping-запросов назад платежный результат негласно - afterwhich я должен послать электронное письмо на правильном языке для подтверждения оплаты и так далее. Я могу вернуть код языка в запросе с платежного сервера и хотел бы использовать это наряду с i18n системами Django для определения который язык послать мое электронное письмо в.
Таким образом, я должен установить язык своего django приложения из представления. И затем сделайте мой шаблонный рендеринг и пользование электронной почтой все в одном идут.
установка request.session['django_language'] = lang
только производит следующее представление, когда я тестирую.
Там какой-либо другой путь состоит в том, чтобы сделать это?
С наилучшими пожеланиями,
Парень
Цитирую части из Locale Middleware Django (django. middleware.locale.LocaleMiddleware
):
from django.utils import translation
class LocaleMiddleware(object):
"""
This is a very simple middleware that parses a request
and decides what translation object to install in the current
thread context. This allows pages to be dynamically
translated to the language the user desires (if the language
is available, of course).
"""
def process_request(self, request):
language = translation.get_language_from_request(request)
translation.activate(language)
request.LANGUAGE_CODE = translation.get_language()
Важным является translation.activate(language)
.