【问题标题】:Display an image from the database in Django?在 Django 中显示数据库中的图像?
【发布时间】:2013-08-19 21:51:03
【问题描述】:

我有一个无法更改的只读数据库。我知道将图像存储在数据库中效率极低。但是我无法控制这个。我需要显示数据库中字段的图像。你怎么能在 Django 中做到这一点?

【问题讨论】:

  • 我正在尝试在模板中显示图像而不是上传它。你怎么能找回它?
  • 正如下面提到的@John Mee,您需要取回文件并将其呈现给响应。或者,如果您按照上面的博客文章链接并将“BlobField”添加到您的模型,您应该能够以更方便的 Django 式方式使用该文件。示例中的 BlobField 将使用 StringIO 将内容转换为对您更有用的形式。
  • @Brandon 链接失效???
  • @ahim888 该链接是古老的 这是最新的:docs.djangoproject.com/en/1.10/ref/request-response/…

标签: mysql database django image


【解决方案1】:
  1. 以二进制形式从数据库中检索图像,
  2. 将其直接写入http响应内容(使用StringIO?),
  3. 设置相关的图像 mimetype/header

不要忘记在响应中设置内容长度。如果图像很大,请尝试“流式传输”。

https://docs.djangoproject.com/en/1.5/ref/request-response/#httpresponse-objects

【讨论】:

  • 你能举个简单的例子吗?
  • @brandonmhp 我不会为你写它,但如果你发布你尝试过的东西,我可能会受到足够的启发来帮助你让它发挥作用。
猜你喜欢
  • 1970-01-01
  • 2013-01-18
  • 2020-07-10
  • 2013-08-21
  • 1970-01-01
  • 2016-12-06
相关资源
最近更新 更多