Django图像未显示

Posted

技术标签:

【中文标题】Django图像未显示【英文标题】:Django images not showing up 【发布时间】:2021-08-16 06:32:43 【问题描述】:

我花了几个小时寻找解决方案,我想我会为自己发帖。 Django 图像不会显示。

models.py:

class Item(models.Model):
...
image = models.ImageField(default='default.jpg', upload_to='item_pics')

urls.py

from django.urls import path
from . import views
from .views import ItemListView
from django.conf import settings
from django.conf.urls.static import static


urlpatterns = [
    path('', ItemListView.as_view(), name="site-home"),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

html-文件

% extends "ui/base.html" %
% load static %
% block content %
<ul>
% for item in items %
<li>
<p><img src=" item.image.url "></p>
<br>
</li>
% endfor %
</ul>
% endblock content %

显示如下:

当我复制图片地址时,我得到 http://localhost:8000/media/default.jpg

【问题讨论】:

发布您的settings.py 的相关部分(即DEBUGMEDIA_ROOTMEDIA_URL)。您是否仔细检查了您的 MEDIA_ROOT 目录中是否有一个名为 default.jpg 的文件? 【参考方案1】:

http://localhost:8000/media/default.jpg 没有图片。你确定路径正确吗?你上传的代码太少了。好像应该是http://localhost:8000/item_pics/default.jpg?该链接有效吗?

如果我是对的,请在 models.py 中试试这个: image = models.ImageField(default='default.jpg', upload_to='media')

【讨论】:

我也有同样的问题,我的图片需要去静态文件夹中的文件夹 images。 static/images,当我在管理站点中添加图像时,如何将图像上传到此文件夹?

以上是关于Django图像未显示的主要内容,如果未能解决你的问题,请参考以下文章

媒体文件夹中的图像未显示 django 模板

图像未显示在 Django 应用程序上

Django3.0:来自数据库的图像在 debug=False 后未显示

图片未显示在 Gmail 中 - 使用 django python-postmark

使用 Wea​​syprint 的 PDF 输出不显示图像(Django)

drf-yasg:图像字段未在 swagger ui 中显示