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

时间:2013-06-13 17:56:59

标签: python django export celery temporary-files

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

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

NamedTemporaryFile(delete=False)

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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