簡體   English   中英

Django模板不顯示ImageField

[英]Django template doesn't display ImageField

我有一個模型,其中有一個ImageField但在模板中沒有出現。 圖像上傳正常(在media_root / one / image.jpg中)

Settings.py:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media_root")

Urls.py

(...)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()

型號

class myModel1(models.Model):
__(...)
__image = models.ImageField(upload_to='one', default="")
__(...)

在我的模板上,我這樣做:

 <img src="{{ myModel1.image.url }}" alt="{{ myModel1.name }} image" />

而在HTML上就像:

 (...)**src="/media/one/photo_p33Mo8a.jpg"**(...)

但是圖像不顯示

未找到錯誤404:

 GET http://localhost:8000/media/one/photo_p33Mo8a.jpg 404 (NOT FOUND)

有人能幫我嗎?

PD:抱歉,我第一次寫關於stackOverFlow的文章。

必須注釋一下,在media_root / one /中出現了圖像,但是文件夾/ media /仍然為空。

文件夾結構: Proyect:
___app_folder
________媒體
________ models.py ....
___media_root
________一
____________ image.jpg
___ mainFolder(設置,URL ..)
___ static_root(...)

在您的鍵盤上試試:

<img src="{{ MEDIA_URL }}{{ myModel1.image }}" alt="{{ myModel1.name }} image" />

*編輯

看來您必須添加urls.py文件:

from django.conf import settings
from django.views.static import serve

# ... the rest of your URLconf goes here ...

if settings.DEBUG:
    urlpatterns += [
        url(r'^media/(?P<path>.*)$', serve, {
            'document_root': settings.MEDIA_ROOT,
        }),
   ]

編輯2

您的ROOT_MEDIA路徑應為:

MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_root")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM