簡體   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