Контактная форма Django отправьте html письма - PullRequest
1 голос
/ 23 декабря 2010

Есть ли способ использовать django-contact-форму для отправки html-письма?

1 Ответ

2 голосов
/ 23 декабря 2010

Я только что посмотрел на источник, и он не встроен.

Вы можете изменить его, как вам угодно - это очень простая форма и очень удобочитаемая.

Вам необходимо добавить переменную / путь html_template, изменить строку сохранения и добавить способ указать, какой шаблон использовать.

def save(self, fail_silently=False):
    """
    Build and send the email message.

    """
    data = self.get_message_dict()
    msg = EmailMultiAlternatives(subject=data['subject'], body=data['message'], from_email=data['from_email'], to=data['recipient_list'])

    msg.attach_alternative(loader.render_to_string('path_to_my_html_template.html', self.get_context()), "text/html")
    msg.send(fail_silently=fail_silently)

Теперь все ваши изменения проще хранить в одном месте.

В противном случае вы можете переписать большую часть кода и изменить имена методов и строки в get_message_dict(), чтобы отразить новые имена полей для EmailMessage

Честно говоря, я не уверен, почему send_mail должен иметь другие ключевые слова, чем EmailMessage

...