我无法在Django HTML模板中显示图像

时间:2020-06-14 16:33:54

标签: python django image django-templates media-url

我有这个模型:

class MyModel(Model):

    other_field = CharField(max_length=200)
    image = ImageField(upload_to='images/', null=True, blank=True, )

我在项目设置文件中有此文件

MEDIA_URL = '/media/'  # new
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # new

我的媒体文件夹中也有一个“图像”文件夹。这些是某些文件的地址。为确保您一切正常:

-myproject> myproject> settings.py

-myproject> media> images> myimage1.png

-myproject> media> images> myimage2.png

我进入外壳

Python manage.py shell

然后:

from myapp.models import MyModel
model_ins = MyModel.objects.get(id=1)
model_ins.image.url

它返回:

'/ media / images / myimage1.png'

我有这个HTML模板(简体):

{% load static %}<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <img src="{{ mymodel_ins.image.url }}">
</body>
</html>

它没有显示图像。是什么原因?

1 个答案:

答案 0 :(得分:0)

我找到了答案

这应该添加到项目的主url文件中:

if settings.DEBUG:  # new
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

但是,我仍然不了解逻辑及其含义

相关问题