Как использовать ColorThief с Django Rest Api?

Я очень начинающий в кодировании. Я хочу получить доминирующий цвет из фотографий. Цвет должен быть сохранен и показан в виде шестнадцатеричного кода.

На данный момент я создал простой код с именем картинки, шириной и высотой. Я не знаю, как реализовать ColorThief в этом маленьком проекте. В файле models внизу я создал некоторый код, который я не знаю, как запустить.

Вот некоторые из моих файлов:

Модели:

    from django.db import models
    from colorthief import ColorThief
    
    
    class UploadImage(models.Model):
        name = models.CharField(
                                'Name',
                                max_length=100,
        )
        image = models.ImageField(
                                 'Image',
                                 upload_to='uploaded_media/',
                                 width_field='width',
                                 height_field='height',
    
        )
        height = models.PositiveIntegerField(
                                            'Image Height',
                                            blank=True,
                                            null=True,
        )
        width = models.PositiveIntegerField(
                                           'Image Width',
                                           blank=True,
                                           null=True
        )
    
        def __index__(self):
            color_thief = ColorThief(self.image)
            self.image = (color_thief.get_color(quality=1),)
            self.save()
            return f'#{self.image[0]:02x}{self.image[1]:02x}{self.image[2]:02x}'

Виды:

    from rest_framework import viewsets
    from rest_imageupload.serializers import UploadImageSerializer
    from imageupload.models import UploadImage
    
    
    class UploadImageViewSet(viewsets.ModelViewSet):
        queryset = UploadImage.objects.all()
        serializer_class = UploadImageSerializer

Сериализаторы:

    from rest_framework import serializers
    from imageupload.models import UploadImage
    
    
    class UploadImageSerializer(serializers.ModelSerializer):
        class Meta:
            model = UploadImage
            fields = ('name', 'image', 'width', 'height')
Вернуться на верх