Получить 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 здесь.

Этот ответ также предполагает, что вы правильно настроили параметры статических файлов. Больше информации об этом здесь.

Вернуться на верх