首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将python生成的图像存储到Django数据库(MySQL)

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

Stack Overflow用户
提问于 2015-06-20 13:44:40
回答 1查看 1.1K关注 0票数 3

我是django的新手,我一直在搜索这个站点,以找到存储使用python生成的图像的好方法(将其保存到本地文件夹、文件或数据库似乎有矛盾的观点)。我的网站唯一的目的是一直做qrcode。在我的本地机器中,我会将它保存在我的程序文件夹中,例如:

代码语言:javascript
复制
import pyqrcode
qr = pyqrcode.create("{'name': 'myqr'}")
qr.png("horn.png", scale=6)
print "All done!"

我遇到的情况是,我将处理许多用户做同样的事情。我怀疑将其保存到本地文件夹是否可行。我决定将这些图像保存为mysql中的blobs。有人做过这种事吗?如果是这样的话,implement.Example代码的最佳方法也将是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-20 14:11:12

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

我理解你的问题,有些用户可能会创建相同的qr代码。在本例中,我将创建一个这样的数据库表:

代码语言:javascript
复制
CREATE TABLE qrcodes (
   value TEXT PRIMARY KEY,
   fname TEXT
);

使用此表,您可以通过编码值找到qr码。如果给定值存在一个条目,则可以只返回其名称被存储的文件的内容。

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

当然,如果需要的话,您仍然可以将图像存储在数据库中。只是不要使用fname字段,而是使用存储内容的blob字段。该解决方案应该可以在大多数数据库上工作,但是当您拥有大量数据时,可能会比文件方法慢一些。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30954666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档