Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于用户输入创建/显示图像——Django_Django - Fatal编程技术网

基于用户输入创建/显示图像——Django

基于用户输入创建/显示图像——Django,django,Django,在Django中,我希望基于用户输入(POST)使用R函数(通过Rpy2)创建一个图像,然后将该图像显示回用户 我的方法是:将图像保存到文件中,并在模板中显示(与表单模板相同) 1) 这是正确的方法吗 然后我发现,有时当我使用不同的参数提交表单几次时,我会在不应该的时候返回相同的图像,因此某种缓存正在运行(在浏览器中?)。我还担心将一个用户创建的图像意外地传递给另一个用户 因此,在提交表单时,我会在图像的名称中添加一个随机数,每次都会得到一个新的图像名称(和新图像) 2) 这是否合理的做法 我有

在Django中,我希望基于用户输入(POST)使用R函数(通过Rpy2)创建一个图像,然后将该图像显示回用户

我的方法是:将图像保存到文件中,并在模板中显示(与表单模板相同)

1) 这是正确的方法吗

然后我发现,有时当我使用不同的参数提交表单几次时,我会在不应该的时候返回相同的图像,因此某种缓存正在运行(在浏览器中?)。我还担心将一个用户创建的图像意外地传递给另一个用户

因此,在提交表单时,我会在图像的名称中添加一个随机数,每次都会得到一个新的图像名称(和新图像)

2) 这是否合理的做法


我有一种直觉,我在用一种愚蠢的方式做事,但我不确定我应该做什么。

要获取浏览器缓存,您只需添加图像url的随机查询参数,如下所示

<img src="assest/images/img1.png?randomstring/>

至于这是否是一种合理的方法,则取决于用户每次访问页面时是否需要重新生成这些图像。在这种情况下,您最好通过视图直接提供这些图像,如。否则,您将需要删除这些永远不再使用的图像


如果您确实需要重用这些图像,请记住必须有一种机制来防止硬盘驱动器被用尽。

我在图像名称的末尾添加一个从(1,2,3,…,100)开始的随机数,因此在它们开始相互保存之前,我不能得到超过100的数字。您仍然没有告诉我们,你真的需要保存这些图片吗?我是说,你需要缓存它们吗?对于名称重叠,只需使用(1..100)以外的其他名称,如图片生成时间或UUID。或者你可以使用这个模块:谢谢。我不需要保存图片,但我不知道还能做什么。我真的不明白直接从视图提供图像的答案,但我会回头再看一遍。