我有这个模型:
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>
它没有显示图像。是什么原因?
答案 0 :(得分:0)
我找到了答案
这应该添加到项目的主url文件中:
if settings.DEBUG: # new
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
但是,我仍然不了解逻辑及其含义