我正在尝试使用django send_mail方法。我遇到了两个问题,特别是将邮件地址从列表转换为要在收件人中使用的csv。第二个问题是从通知模型中获取用户电子邮件列表。
我的模特
class notifications(models.Model):
notID = models.AutoField(primary_key=True)
notSubject = models.CharField(max_length=100)
notBody = models.TextField()
notDate = models.DateField(auto_now_add=True)
notRecepients = models.ManyToManyField(UserProfile, related_name='recepients')
notPoster = models.ForeignKey(UserProfile,related_name='notposter')
deleted = models.BooleanField()
def __unicode__(self):
return u'%s ' % ( self.notSubject)
class UserProfile(User):
onames = models.CharField(max_length=30, blank=True)
phoneNumber = models.CharField(max_length=15, blank=True)
regNo = models.CharField(max_length=15)
image = models.ImageField(max_length=100,upload_to='photos/%Y/%m/%d', blank=True, null=True, default='photos/2010/03/placeholder.jpg')
course = models.CharField(max_length=30, blank=True, null=True)
timezone = models.CharField(max_length=50, default='Africa/Nairobi')
smsCom = models.BooleanField()
mailCom = models.BooleanField()
class notifications_sms_mail(models.Model):
notId = models.OneToOneField(notifications)
sms = models.BooleanField()
email = models.BooleanField()
我的观点
def notif_sms_mail(request):
user = UserProfile.objects.get(pk=request.session['_auth_user_id'])
mailform = notif_sms_mail_Form(request.POST)
if mailform.is_valid():
notid=request.POST['notId']
mailform.save()
notif = notifications.objects.get(deleted='0', notID = notid)
rec = (UserProfile.objects.values('email')).filter(mailCom='1')
mail = notifications_sms_mail.objects.get(email='1', notId=notid)
if notif.notID == mail.notId:
send_mail(notSubject, notBody, 'from ****@gmail.com',rec, fail_silently=False)
答案 0 :(得分:2)
UserProfile.objects.filter(mailCom='1').values_list('email', flat=True)