django + посылают электронное письмо в HTML с django-регистрацией

Это заключается в кавычки из книги Fowler и Beck: "Рефакторинг"

Длинный Список параметров

В наши ранние дни программирования нам преподавали передать в как параметры все необходимое стандартной программой. Это было понятно, потому что альтернатива была глобальными данными, и глобальные данные являются злыми и обычно болезненными. Объекты изменяют эту ситуацию, потому что, если у Вас нет чего-то, которое Вам нужно, можно всегда спрашивать другой объект получить ее для Вас. Таким образом с объектами Вы не передаете во всем потребности метода; вместо этого Вы передаете достаточно так, чтобы метод мог добраться до всего, в чем он нуждается. Многое из того, в чем нужен метод, доступно на классе хоста метода. В объектно-ориентированных программах списки параметров имеют тенденцию быть значительно уменьшенными, чем в традиционных программах. Это хорошо, потому что длинные списки параметров трудно понять, потому что они становятся непоследовательными и трудными использовать, и потому что Вы навсегда изменяете их, поскольку Вам нужно больше данных. Большинство изменений удалено путем передачи объектов, потому что Вы будете должны, намного более вероятно, выполнить только несколько запросов для достигания новой части данных. Используйте Параметр Замены с Методом, когда можно получить данные в одном параметре путем выполнения запроса объекта, Вы уже знаете о. Этот объект мог бы быть полем, или это мог бы быть другой параметр. Используйте Заповедник Целый Объект взять набор данных, подбираемых из объекта и заменить его самим объектом. Если у Вас есть несколько элементов данных без логического объекта, использование Представляют Объект параметра. Существует одно важное исключение к внесению этих изменений. Это - когда Вы явно не хотите создавать зависимость от названного объекта до большего объекта. В тех случаях, распаковывающих данные и отправляющих его вперед как параметры, разумно, но обратите внимание на включенную боль. Если список параметров является слишком длинным или изменяется слишком часто, необходимо заново продумать структуру зависимостей.

11
задан pmourelle 30 April 2011 в 01:48
поделиться

1 ответ

Я бы рекомендовал отправлять как текстовую версию, так и версию html. Найдите в файле models.py django-registration:

send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])

и вместо этого сделайте что-нибудь вроде документа http://docs.djangoproject.com/en/dev/topics/email/#sending-alternative- content-types

from django.core.mail import EmailMultiAlternatives

subject, from_email, to = 'hello', 'from@example.com', 'to@example.com'
text_content = 'This is an important message.'
html_content = '<p>This is an <strong>important</strong> message.</p>'
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()
14
ответ дан 3 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

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