Получить src файла изображения, хранящегося в базе данных dtabase?
У меня есть модель десерта в 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 тег, который вы показываете (если он похож), нуждается в некоторых изменениях для отображения поля image вашего экземпляра модели. Предположим, что у вас есть простое представление, которое показывает десерт, например...
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 docs здесь.
Этот ответ также предполагает, что вы правильно настроили параметры статических файлов. Больше информации об этом здесь.