繁体   English   中英

未找到 Django 媒体文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM