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
的相关部分(即DEBUG
、MEDIA_ROOT
和MEDIA_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图像未显示的主要内容,如果未能解决你的问题,请参考以下文章
Django3.0:来自数据库的图像在 debug=False 后未显示
图片未显示在 Gmail 中 - 使用 django python-postmark