我想弄清楚如何在我的项目中避免依赖注入。应用程序目录中有一个文件notifications.py
。如何避免Django中的依赖注入?
文件notifications.py
包含向管理员和用户发送电子邮件的方法。要获得管理员电子邮件,我需要检查SystemData
模型的对象。但在模型中,我使用通知。
模式
class SystemData(models.Model):
admin_alerts_email = models.EmailField(verbose_name=u'Emailová adresa admina')
contact_us_email = models.EmailField(verbose_name=u'Adresa kontaktujte nás')
waiting_threshold = models.PositiveSmallIntegerField(verbose_name=u'Maximálny počet minút čakania')
class SomeModel(models.Model):
....
def save(...):
notifications.send_message_to_admin('message')
notifications.py
from django.core.mail import EmailMessage
from models import SystemData
def send_message_to_admin(message):
mail = EmailMessage(subject, message, to=[SystemData.objects.all().first().admin_email])
mail.send()
返回Django的,它无法导入SystemData
。
你知道该怎么办?
编辑:
stacktrace
你可以粘贴stacktrace吗?这可能就像在导入行用.models替换模型一样简单 – cdvv7788
我在问题底部添加了堆栈跟踪 –
我试图从模型中将SystemData替换为从.models导入SystemData并且它没有帮助。 。 –