【问题标题】:Django images not showing upDjango图像未显示
【发布时间】: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 的文件?

标签: django django-models django-views django-urls


【解决方案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,当我在管理站点中添加图像时,如何将图像上传到此文件夹?
猜你喜欢
  • 2018-05-14
  • 2021-11-19
  • 2017-04-29
  • 2017-04-27
  • 2021-10-12
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 1970-01-01
相关资源
最近更新 更多