Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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
将python生成的图像存储到Django数据库(MySQL)_Python_Django - Fatal编程技术网

将python生成的图像存储到Django数据库(MySQL)

将python生成的图像存储到Django数据库(MySQL),python,django,Python,Django,我是django的新手,我一直在搜索该网站,以找到存储使用python生成的图像的好方法(关于将图像保存到本地文件夹、文件或数据库,似乎存在相互矛盾的观点)。我的网站唯一的功能就是一直制作qrcodes。在本地计算机中,我会将其保存在程序文件夹中,如下所示: import pyqrcode qr = pyqrcode.create("{'name': 'myqr'}") qr.png("horn.png", scale=6) print "All done!" 我遇到的情况是,我将与许多做同样

我是django的新手,我一直在搜索该网站,以找到存储使用python生成的图像的好方法(关于将图像保存到本地文件夹、文件或数据库,似乎存在相互矛盾的观点)。我的网站唯一的功能就是一直制作qrcodes。在本地计算机中,我会将其保存在程序文件夹中,如下所示:

import pyqrcode
qr = pyqrcode.create("{'name': 'myqr'}")
qr.png("horn.png", scale=6)
print "All done!"
我遇到的情况是,我将与许多做同样事情的用户打交道。我怀疑将其保存到本地文件夹是否可行。我打算在mysql中将这些图像保存为blob。
有人做过这种事吗?如果是这样,最好的实现方法是什么。示例代码也会很有帮助。

在数据库中存储图像在某种程度上是一种边缘情况。为了减轻数据库的负担,我不会将它们存储在数据库中,而是存储在服务器上的一个文件夹中

我理解你的问题,因此,一些用户可能会创建相同的二维码。在本例中,我将创建一个如下所示的数据库表:

CREATE TABLE qrcodes (
   value TEXT PRIMARY KEY,
   fname TEXT
);
使用此表,您可以通过编码值查找qr码。如果给定值存在条目,则只需返回存储名称的文件的内容即可

留下一个问题:如何创建文件名。有很多可能性。一种方法是创建一个文件名并从中创建一个文件名。另一种选择是使用全局计数器并为每个文件指定一个新编号。当然,计数器必须存储在数据库表中


当然,如果需要,您仍然可以将图像存储在数据库中。只是不要使用fname字段,而是使用存储内容的blob字段。这种解决方案应该适用于大多数数据库,但在数据量非常大的情况下,可能比文件方法要慢。

到目前为止你用谷歌搜索过吗?这已经被问了很多次了。我在谷歌上搜索了一下,我被答案弄得更糊涂了,这些图片是文件夹中的文件。还有一个数据库来跟踪。信息量很大。我将尝试这种方法,因为这是目前唯一的答案。