【问题标题】:Django, sending emails through Mandrill without language_code settingDjango,通过 Mandrill 发送电子邮件,无需 language_code 设置
【发布时间】:2014-11-04 12:13:39
【问题描述】:

我正在使用 Mandrill API 发送电子邮件。问题是电子邮件没有我在settings.py 中使用的正确LANGUAGE_CODE 设置

在我的 settings.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

managment/commands/sendmails.py中,一些发送邮件的代码是:

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': 'info@myapp.com',
        'from_name': 'myapp',
        'subject': u'Title',
    }

    events = get_events() #Other function
    html_request = generate_html(events)
    message['html'] = html_request
    message['to'] = [{
        'email': 'test_user@myapp.com',
        '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>

我可以发送电子邮件,但日期显示为英文而不是西班牙文,我的应用程序中的设置方式。

【问题讨论】:

    标签: python django mandrill


    【解决方案1】:

    您需要在您的settings 文件中适当地设置DATE_FORMATLANGUAGE_CODE 设置不对任何类型的格式负责。

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 2014-09-30
      • 2015-10-27
      • 2017-04-03
      • 2020-02-24
      • 2017-01-12
      • 2020-02-06
      • 1970-01-01
      • 2019-05-17
      相关资源
      最近更新 更多