Potrzebuję wygenerować plik CSV na podstawie wyniku zapytania, dołącz plik wynikowy do wiadomości e-mail jako załącznik i wyślij. Jak widzicie, potrzebuję iterować nad przypisanymi ścieżkami i zapisywać je do pliku, więc sądziłem, że wydajność przyniesie efekt. Teraz, gdy uruchamiam kod, otrzymuję wiadomość e-mail z załącznikiem z komunikatem poniżej, zamiast oczekujących. Jeśli użyję return, otrzymam jeden wiersz z wyniku zapytania.Dołącz wygenerowany plik CSV do wiadomości e-mail i wyślij z Django
<generator object data at 0x7f5e508d93c0>
def send_lead_reminder(request):
usercompany = Listing.objects.filter(submitted_by=request.user)
assigned_leads = lead.objects.filter(assigned_to__in=usercompany).distinct()
def data():
csvfile=StringIO.StringIO()
csvwriter =csv.writer(csvfile)
for leads in assigned_leads:
csvwriter.writerow([leads.business_name, leads.first_name, leads.last_name, leads.email, leads.phone_number,leads.address, leads.city, leads.state, leads.zipcode, leads.submission_date, leads.time_frame, leads.comments])
yield csvfile.getvalue()
message = EmailMessage("Hello","Your Leads","[email protected]",["[email protected]"])
message.attach('invoice.csv', data(), 'text/csv')
#message.to="[email protected]"
message.send()
return HttpResponseRedirect('/')
Spot on !! Dziękuję Ci. – shaytac