python - 在 Django Celery 结果中使用临时文件

标签 python django export celery temporary-files

我正在使用 celery 任务为用户数据生成 PDF 和 Excel 导出。这些任务构建临时文件。这就是问题所在。我正在使用 NamedTemporaryFile对象,当文件关闭时它们会自动删除自己。由于它们在任务结束时关闭,因此它们会立即消失。

如果我将 delete 属性设置为 false,我可以让它工作:

NamedTemporaryFile(delete=False)

但这有一个问题,就是在系统上留下一堆临时文件,这是我不想要的。

我总是可以创建一个清理任务,但我希望那里可能有更好的模式......

谢谢!

最佳答案

你可以使用 StringIO/CStringIO类而不是 NamedTemporaryFile 从 Excel/PDF 文件中捕获数据并返回其值。 StringIO 类的行为方式与普通文件相同。

关于python - 在 Django Celery 结果中使用临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093874/

相关文章:

python - 如何在Python脚本中添加外部参数?

python - 如何在模板中使用 bool 字段?

python - 如何在 Jinja 中循环具有多个值的字典?

windows - 如何使用 Windows 将 Sublime Text 3 的设置从一台 PC 导出/导入到另一台 PC?

mysql - 将一张表转换为两张新表

ldap - 从 389 目录服务器导出 LDAP 条目?

python - selenium 切换到 iframe 来定位元素

python - Django、WSGI 和 Apache 的语法错误

python - Django,从 POST 获取值

python - 让一个令人困惑的复杂 mysql 请求工作