获取存储在数据库中的图像文件的src ?



我在django中有一个甜点模型,它的属性叫picture:

class Dessert(models.Model): 
name = models.CharField(max_length=100) 
description = models.TextField(max_length=1000, blank=True) 
picture = models.ImageField(upload_to ='uploads/desserts-pics/', max_length=100) 
price = models.DecimalField(max_digits=10, decimal_places=2, validators=[MinValueValidator(1)]) 
tags = models.ManyToManyField(Tag, related_name="desserts")

def __str__(self): 
return self.name + " ($" + str(self.price) +")"

我想用react显示前面的图像,像这样:

<img src={dessert.picture}>

dessert是我从请求中得到的dessert模型的一个实例,但图片是一个文件而不是图像,我怎么能得到src?对不起,我知道这是一个愚蠢的问题,但我没有在其他地方找到答案。

我不是react用户。但是,要显示模型实例的图像字段,需要对所显示的HTML标记(如果类似的话)进行一些修改。让我们假设您有一个显示甜点的简单视图,如…

def show_dessert(request):
d = Dessert.objects.get(id=1)
context = {'d':d}
return render(request, "pages/my_template.html", context)

d作为您的沙漠对象,您将使用.url显示图像,如:

<img src="{{d.picture.url}}">

在Django文档中找到更多关于服务文件和照片的信息。

此答案还假设您已经正确配置了静态文件设置。这里有更多的信息。

最新更新