【发布时间】:2020-04-18 22:33:34
【问题描述】:
我创建了一个名为 Product 的模型,该模型接受一个 ImageField,该模型将上传到我创建的函数中:
class Product(models.Model):
title = models.CharField(max_length=120)
description = models.TextField()
price = models.DecimalField(decimal_places=2, max_digits=10, default=39.99)
image = models.ImageField(upload_to=upload_image_path, null= True, blank=True)
def __str__(self):
return self.title
return self.image
def __unicode__(self):
return self.title
我还创建了我的 MEDIA_ROOT 和 STATIC_ROOT 下面是来自主 url 的代码,但是我也在 settings.py 中定义了这两个:
if settings.DEBUG:
urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
所以我可以从管理员上传图片,并正确上传到我创建的 media_root。
当我尝试调用/显示图像时,它什么也不渲染我不知道我可能在哪里犯了错误
{% load static %}
{{ object.title }} <br/>
{{ object.description }} <br/>
{{ object.image.url }}<br/>
<img src="{{ object.image.url }}" class='img-fluid'/>
但{{ object.image.url }} 实际上给了我图像的确切路径,这对于要渲染的图片应该是有意义的。
【问题讨论】:
标签: django django-models django-media