[英]Django media files not found
我在 django 中显示用户提交的图像时遇到问题。 我已经阅读了许多与此问题类似的其他线程,但无法从这些解决方案中获得任何工作。
我有一个 model,其中包含我通过管理面板提交的图像字段,并且图像已正确上传。
class Listing(models.Model):
#fields editable by users
title = models.CharField(max_length=25)
description = models.TextField()
starting_bid = models.DecimalField(max_digits=6, decimal_places=2)
image_url = models.ImageField(upload_to='images/')
#auto-created fields
def __str__(self):
return self.title
我添加到 settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
我在我的 urls.py 中添加了 static 行
from django.urls import path
from django.conf.urls.static import static
from django.conf import settings
from . import views
urlpatterns = [
path("", views.index, name="index"),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我正在尝试在模板中渲染图像
{% for entry in entries %}
<div class="container">
<img src="{{entry.image_url}}", alt="image">
<p>{{entry.image_url}}</p>
<p>{{entry.title}}</p>
</div>
{% empty %}
<p>There are no active listings right now! come back later</p>
{% endfor %}
在我的应用程序文件夹的主目录中,我有一个“媒体”文件夹,里面有“图像”文件夹。 HTML 返回对象并按预期显示标题,并将图像 url 打印为“images/file.jpg”,正如我所期望的那样。 但图像不会加载,而是显示 alt。 图像 url 应该是“media/images/file.jpg”吗? 这里出了什么问题?
错误的img链接,应该是
<img src="{{ entry.image_url.url }}", alt="image">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.