Делаю пеерхват отправки емайлов:
mail_aspects.py: - этот файл лежит в корне моего джанго проекта
import aspects
from django.core.mail import send_mail
def on_send_mail(*args, **kwargs):
retval = yield aspects.proceed
... do something
yield aspects.return_stop(retval)
def init():
aspects.with_wrap(on_send_mail, send_mail )
init()
подключаю импорт для привязки AOP
import mail_aspects
Но сталкиваюсь с такой проблемой что для некоторых вызовов send_mai происходит несколько вызовов моего метода on_send_mail, мне кажется это из-за того что я в неверном месте (settings.py ) делаю импорт для привязки aop и из-за этого происходит привязка несколько раз.. В итоге мне пришлось перенести импорт из settings.py в каждый файл в котором производится вызов функции send_mail и повторные вызовы вроде как пропали, но не нравится что приходится делать это для каждого файла в котором идет вызов - хотелось бы делать привязку в одном месте.
Подскажите где правильно делать такую привязку (import mail_aspects) и почему если делать внутри settings.py то могут быть возовы по несколько раз?