gpt4 book ai didi

python - 如何在浏览器 URL 中显示 django ImageField

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:03 25 4
gpt4 key购买 nike

我有一个网页抓取应用程序,可以从网站下载图像并将其存储在我的一个模型的 ImageField 中。

models.py

class Article(models.Model):
title = models.CharField('Title', max_length=300)
url = models.CharField('URL', max_length=200)
hero_image = models.ImageField(upload_to='pictures', max_length=255)

我的 hero_image 字段在我的项目中如下所示:“http://localhost:8000/media/pictures/gettyimages-585288019.jpgw210h158crop1quality85stripall

图像存储在myproject/myproject/pictures:

myproject
├── myproject
│   ├── settings.py
├── pictures
├── manage.py

当我单击上面的示例链接时,我会自动下载图像,但我想在浏览器中显示图像。

到目前为止我做了什么

myproject/urls.py

    urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('core.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

settings.py

MEDIA_URL = '/media/'

SO 上有很多与我的问题类似的主题,但我已经阅读了其中很多主题,但仍然找不到一个似乎可以帮助我解决问题的主题。

最佳答案

When I click the sample link above I automatically download the image, but instead I would like to show the image in the browser.

这是由网络服务器决定的。如果您设置 HTTP header Content-Disposition: inline,它会指示 Web 浏览器在浏览器中打开图像,而不是将其视为文件下载。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

大多数 Web 服务器(例如 Apache 或 Nginx)都会默认为所有图像文件设置此 header 。

如果您想要将 Content-Disposition header 添加到 runserver 开发服务器提供的文件中,您可能必须重写默认方法。有关详细信息,请参阅此问题。

django dev server, adding headers to static files

关于python - 如何在浏览器 URL 中显示 django ImageField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47016750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com