在Django中,我想基于用户输入(POST)使用R函数(通过Rpy2)创建图像,然后将该图像显示回用户。
我的方法:将图像保存到文件中并将其显示在模板中(与表单相同的模板)。
1)这是正确的做法吗?
然后我发现有时当我使用不同的参数提交表单几次时,我会在不应该的时候得到相同的图像,所以某种缓存正在进行(在浏览器中?)。我还担心意外地将一个用户创建的图像传递给另一个同时用户。
因此,在提交表单时,我会在图像名称中添加一个随机数,每次都会获得一个新的图像名称(和新图像)。
2)这是一种合理的方法吗?
我有一种直觉,认为我是以愚蠢的方式做事,但我不确定我应该做些什么。
答案 0 :(得分:1)
要获取浏览器缓存,您只需添加图像网址的随机查询参数,就像这样
<img src="assest/images/img1.png?randomstring/>
至于它是否是一种合理的方法,取决于每次用户访问页面时是否需要重新生成这些图像。在这种情况下,您最好通过视图直接提供这些图像,例如this。否则,您将需要删除永远不会再使用的这些图像。
如果您确实需要重复使用这些图像,请记住必须有一种机制可以防止您的硬盘耗尽。