2

我正在开发一个 Django 项目,我需要在其中提供在线生成的临时图像。会议应该是匿名的;任何人都应该能够使用该服务。会话到期或关闭时应销毁图像。

但是,我不知道最好的方法是什么。例如,我可以使用基于文件的会话,只需将图像设置为在会话文件夹中生成,它们将(或至少应该)随会话一起被销毁。我想我可以对数据库会话做类似的事情,也许将图像保存在数据库中,或者在会话结束时删除它们,但是,基于文件的解决方案对我来说听起来更可靠。

这是一个好的解决方案,还是有更可靠的替代方案?

4

1 回答 1

0

我会根据会话密钥的哈希命名临时图像,然后创建一个管理命令:

  1. 为所有当前会话创建一个包含潜在临时文件名哈希的列表。
  2. 获取临时目录中所有当前文件名的列表
  3. 删除在哈希列表中没有匹配条目的文件名

由于没有故障安全方法可以知道会话是否已“关闭”,因此您应该首先使用管理命令 - 在此之前,或者您可以通过使用函数cleanup使它作为这个新命令的一部分隐式运行。call_command()

于 2009-08-05T03:49:33.853 回答