Я использую Django-background-tasks для асинхронной отправки электронной почты.Когда я отправляю электронную почту в поле зрения, локализация работает отлично, но когда я пытаюсь отправить ту же электронную почту из фона, шаблон рендеринга Django с локалью по умолчанию.Вот код, который я использую для отправки электронных писем:
Функция, которую я вызываю из views.py
tasks.py
@background()
def send_email_async(email, json):
send_email_support_request(email, json)
email_utils.py
def send_email_support_request(email, json_data):
c = {
'request_id': json_data['request_id']
}
template = 'email_support_request.html'
email_header = {
'message': "All Data request",
'subject': "Support request"
}
send_email(c, template, email_header, email)
return
def send_email(context_dict, email_template_name, email_header_data, user_email):
subject = ''.join(email_header_data['subject'].splitlines())
email_render = loader.render_to_string(email_template_name, context_dict)
email = EmailMessage(subject=subject,
body=email_render,
from_email=settings.EMAIL_HOST_USER,
to=[user_email])
email.content_subtype = "html"
email.send()
return
Файл шаблона
<!DOCTYPE html>
{% load i18n %}
<html lang="en" style="background-color: rgb(238,243,246)">
...
<span class="line-text" style="margin-bottom: 20px; display: inline-block;">
{% trans "Thank you for your request!"%}
</span>
Как заставить Django-rest-framework визуализировать шаблон в соответствии сязык, указанный в заголовке Accept-Language?