@marselabdullin

Почему письмо на почту приходит на английском в блоке {% trans %} django?

Текст письма приходящего на почту:

{% load i18n %}

<html>
<title>Company - {% trans 'Activation by email' %}</title>
<body>
    <p>{% trans 'Hello' %}, {{ user }}</p>
    <p>{% trans 'Your  account in Company name has been successfully created. Please click link below to activate your account.'%}</p>
    <p><a href="{{ activate_url }}">{% trans 'Activate your account' %}</a></p>
</body>
</html>

Таск с отправкой письма:
def mail_send(scheme, host, user_id):
    user = User.objects.get(pk=user_id)
    text_content = 'Account Activation Email'
    subject = 'Email Activation'
    template_name = "activation.html"
    from_email = settings.DEFAULT_FROM_EMAIL
    recipients = [user.email]
    # receive url with encoded data
    context = encoder(scheme, host, user)

    html_content = render_to_string(template_name, context)
    email = EmailMultiAlternatives(subject, text_content, from_email, recipients)
    email.attach_alternative(html_content, "text/html")
    mail_sent = email.send()

    return mail_sent
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@marselabdullin Автор вопроса
Ссылка на доку - решение проблемы:
https://docs.djangoproject.com/en/3.0/topics/i18n/...
Нужный язык взял из метода signup во views(там язык верный) и вставил еще одним параметром в mail_send
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы