1
전자 메일을 보낼 때 Mandrill API를 사용하고 있습니다. 문제는 이메일을 내 settings.py 파일에서Django, language_code 설정없이 Mandrill을 통해 이메일 보내기
settings.py
에 사용되는 적절한 LANGUAGE_CODE
설정을하지 않아도됩니다 나는 다음과 같은 라인이 있습니다 managment/commands/sendmails.py
에서
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.request",
"events.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.tz",
)
...
LANGUAGE_CODE = 'es'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
, 코드의 일부를 이메일을 보내는 것은 :
def generate_html(events):
template = loader.get_template('mail_request_list.html')
return template.render(Context({'events': events}))
def send_emails():
mandril_client = mandrill.Mandrill(key)
message = {
'from_email': '[email protected]',
'from_name': 'myapp',
'subject': u'Title',
}
events = get_events() #Other function
html_request = generate_html(events)
message['html'] = html_request
message['to'] = [{
'email': '[email protected]',
'type': 'to'
}]
mandril_client.messages.send(
message=message
)
HTML 파일 mail_request_list.html
:
<!DOCTYPE html>
<html lang="es">
<body>
{% for event in events %}
Mes: {{ event.begin_at|date:'F'|lower }}
<br>
{% endfor %}
</body>
</html>
이메일을 보낼 수는 있지만 날짜는 영어로 표시되며 스페인어로 표시되지 않는 이유는 앱에서 설정 한 방식입니다.