我是新來的django,我一直在玩上傳圖片,然後顯示它們。 ... 嘗試來顯示它們。來自媒體文件的圖像不會顯示在django模板
每當我嘗試從模板中顯示圖像,我只是得到了破碎的圖像鏈接圖標。
我使用的sqlite3的服務器
settings.py
ROOT_DIR = os.path.dirname(os.path.dirname(__file__))
def location(f):
return os.path.join(ROOT_DIR, f)
MEDIA_URL = 'http://127.0.0.1:8000/media/'
MEDIA_ROOT = location('media/')
models.py
class Image(models.Model):
image = models.ImageField(upload_to = 'images/')
views.py
from imageupload.settings import MEDIA_ROOT, MEDIA_URL
def main(request):
imgs = Image.objects.all()
return render_to_response('index.html', {'images': imgs, 'media_root': MEDIA_ROOT, 'media_url': MEDIA_URL})
url.py
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
現在我剛剛用管理員上傳圖片。這似乎很好地工作,他們去的地方,我希望
但是當我嘗試將它們顯示:
模板
<!DOCTYPE html>
<html>
<img src="<correct path to project>/media/images/photo_1.JPG" />
{% for img in images %}
<img src="{{ media_root }}{{ img.image.name }}" />
<img src="{{ media_url }}{{ img.image.name }}" />
<img src="{{ img.image.url }}" />
{% endfor %}
</html>
我得到的每一個破碎的圖標。
瀏覽器的源代碼顯示了我:
<!DOCTYPE html>
<html>
<img src="<correct path to project>/media/images/photo_1.JPG" />
<img src="<correct path to project>/media/images/photo_1.JPG" />
<img src="http://127.0.0.1:8000/media/images/photo_1.JPG" />
<img src="http://127.0.0.1:8000/media/images/photo_1.JPG" />
</html>
是有道理的,我只有一張照片上傳。
如果我複製的硬盤鏈接之一,放入一些其他的HTML文件...它的工作原理
哎爲感謝您響應。我試過了,但它似乎仍然沒有工作 – Ben