我喜歡向自己發送包含符合條件的用戶名稱的電子郵件。我的問題是,如果我在 mass_mail 中使用 for 回圈,它會將每個結果發送到單獨的電子郵件中。因此,如果我有 6 個結果,它會在每封電子郵件中發送 6 次包含一個結果的電子郵件:(我正在使用 mass_mail,因為將來我喜歡向更多用戶發送電子郵件,而不僅僅是我。)
user_weekly.py
from django.core.management.base import BaseCommand
from xy.models import Profile
from django.core.mail import send_mass_mail
recipient_list = Profile.objects.raw('SELECT * FROM auth_user LEFT JOIN xy_profile ON auth_user.id = xy_profile.user_id WHERE email = 1')
messages = [(subject, 'Hello! Users are the following:' r.last_name, from_email, ['[email protected]]) for r in recipient_list]
send_mass_mail(messages)
在這種情況下,我如何才能將所有結果發送到一封電子郵件而不是 6 封單獨的電子郵件中?
我也嘗試過這樣創建一個變數:reclist = r.last_name但在這種情況下,它只發送一封電子郵件,其中只有一個用戶名。
我應該怎么做才能在一封電子郵件中獲取所有用戶的姓名?
uj5u.com熱心網友回復:
您可以嘗試回圈字串生成如下
from django.core.management.base import BaseCommand
from xy.models import Profile
from django.core.mail import send_mass_mail
recipient_list = Profile.objects.raw('SELECT * FROM auth_user LEFT JOIN xy_profile ON auth_user.id = xy_profile.user_id WHERE email = 1')
message='Hello! Users are the following: '
for r in recipient_list:
message =r.last_name ", "
message=message[2:]
send_mass_mail((subject, message, from_email, '[email protected]'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/468569.html
