【问题标题】:django store image in databasedjango 将图像存储在数据库中
【发布时间】:2011-04-15 20:05:31
【问题描述】:

有谁知道是否有直接在数据库中存储图像的开箱即用方式与使用 ImageField 模型类型将其简单地上传到 MEDIA_ROOT。 如果有,那么如何提供这些图像?

干杯

【问题讨论】:

标签: django image binary django-blob


【解决方案1】:

这里有一个很好的解决方案:http://djangosnippets.org/snippets/1305/ 它将内容存储在数据库 blob 中。

【讨论】:

    【解决方案2】:

    不,没有。并且有充分的理由。从数据库存储和提供图像的效率非常低。将它们存储在文件系统中,并直接从 Apache 提供它们。

    【讨论】:

    • 也许您可以提供更多关于在数据库中存储图像的可怕低效率的详细信息?
    • 需要注意的是,不推荐使用 Apache 提供图片。
    • @Izzad-DinRuhulessin 是开玩笑的意思吗?如果没有,需要引用
    • 没有根据和错误。如果服务器后面有缓存层,则可能没有问题。存储在数据库中增加了可移植性 - 数据库转储是完整的数据集。
    • 不应该是公认的答案。这取决于用例和数据库。例如,使用 SQLite 存储和检索图像甚至可以比从文件系统检索快 35%,请参阅:sqlite.org/fasterthanfs.html
    【解决方案3】:

    Django 中似乎没有内置的BlobField。但是,有一个可用的here。我不确定它是否支持所有后端,但它可能对你有用。有了它,您可以编写一个表单和视图,将图像作为附件上传并将其作为 blob 存储在数据库中。

    【讨论】:

      猜你喜欢
      • 2022-11-21
      • 1970-01-01
      • 2013-09-15
      • 2012-10-17
      • 2017-07-24
      • 2011-05-07
      相关资源
      最近更新 更多