为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕无忌1623718 2022-11-24 15:22:41

我正在尝试附加这个由库创建的 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()。


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


查看完整描述

1 回答

?
长风秋雁

TA贡献1515条经验 获得超7个赞

您可以使用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()


查看完整回答
反对 回复 6天前

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信