在 django 邮件中附加一个 queryset-to-csv 文件

我正在尝试附加这个由库创建的 csv 文件django-queryset-csv(请参阅文档),但是当我在收件箱中收到并打开该文件时,它只是空的。


mail = EmailMessage(subject, text, from_email, [to])

with open(f'Orders for {date.today().strftime("%b-%d-%Y")}.csv', 'wb+') as f:

       write_csv(todays_orders, f)

       mail.attach(f.name, f.read())

mail.send()

正在正确创建 csv(它位于与 相同的目录中manage.py),但不会附加。我认为这是因为我通过调用f.name和错误地访问了它f.read()。


我怎样才能得到我刚刚创建的文件以便附加并发送它?


慕无忌1623718
浏览 58回答 1
1回答

长风秋雁

您可以使用EmailMessage 对象中的mail.set_content()方法mail = EmailMessage(subject, text, from_email, [to])filename_csv = f'Orders for {date.today().strftime("%b-%d-%Y")}.csv'with open(filename_csv, 'wb+') as f:       write_csv(todays_orders, f)       mail.set_content(f.read())mail.send()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python