Я хочу, чтобы заменить встроенные send_mail функции, которая работает только с простым текстовыми сообщениями электронной почты, с моей умной send_mail функцией, которая генерирует как HTML и текстовые версии автоматически. Все работает так, как ожидалось, для моих собственных писем, определенных в моем собственном приложении. Я могу сделать это в views.py таким образом:Сделать Django построить в send_mail функции работы с HTML по умолчанию
from django.core import mail
from utils import send_mail as send_html_mail
mail.send_mail = send_html_mail
Но проблема все еще появляется с электронной почтой в третьей стороне приложений. Там все импорт уже завершен до моего кода с помощью исправления обезьяны send_mail.
Возможно ли переопределить эту функцию перед импортом всех приложений django? Или может быть другое решение этой проблемы. Я действительно не хочу исправлять код с отправкой писем этих сторонних приложений. Очень просто разместить html-шаблон.
благодарит за сообщение. это возможно, но я нашел немного более чистое решение, если я могу назвать такие решения, как это :-). Без изменения кода django – ramusus
Если вам интересно, ознакомьтесь с этим приложением https://github.com/ramusus/django-email-html – ramusus
Как именно вы замените старую функцию отправки? Почему теперь это происходит, когда другие модули импортируют его? Я хотел бы знать, чтобы снова использовать этот трюк. – gruszczy