Как загрузить случайные картинки из списка массива картинок (который представляет собой папку, которую я превратил в список с помощью **listdir** )в базу данных

Я хочу загрузить случайные картинки из статической папки с именем в мою базу данных. Это мои файлы. Пожалуйста, подскажите способ. Я застрял здесь навсегда.

views.py

class VerifyOTPView(APIView):
    permission_classes = (AllowAny,)
    serializer_class = VerifyOTPSerializer
    def post(self, request):
        serializer = VerifyOTPSerializer(data=request.data)
        mobile = request.data['mobile']
        otp_sent = request.data['otp']
        #print('one_time_password', one_time)
        if mobile and otp_sent:
            old = Profile.objects.filter(mobile = mobile)
            if old is not None:
                old = old.first()
                otp = old.otp
                if str(otp) == str(otp_sent):
                    serializer = self.serializer_class(data=request.data)
                    mobile = request.data['mobile']
                    if serializer.is_valid(raise_exception=True):
                        instance = serializer.save()
                        content = {'mobile': instance.mobile, 'otp': instance.otp,
                                   'name':instance.name,
                                    'username':instance.username, 
                                    'logo':instance.logo, 
                                     'profile_id': instance.profile_id }
                        return Response(content, status=status.HTTP_201_CREATED)
                else:
                        return Response({
                            'status' : False, 
                            'detail' : 'OTP incorrect, please try again'
                        })

serializers.py

class VerifyOTPSerializer(serializers.ModelSerializer):
    class Meta:
        model = Profile
        fields = ['mobile','otp']
        
    def create(self,validated_data):
        instance = self.Meta.model(**validated_data)
        mywords = "123456789"
        res = "expert@" + str(''.join(random.choices(mywords,k = 6)))
        path = os.path.join(BASE_DIR, 'static')
        
        random_logo = random.choice([ x for x in os.listdir(path) 
        if os.path.isfile(os.path.join(path, x))])
        
        instance = self.Meta.model.objects.update_or_create(**validated_data, defaults = dict(    
        username = res,   
        name = instance.mobile,
        logo = random_logo,
        profile_id = res))[0]
        
        instance.save()
        return instance

models.py

class Profile(models.Model):
    mobile = models.CharField(max_length=20)
    otp = models.CharField(max_length=6)
    name = models.CharField(max_length=200)
    username = models.CharField(max_length=200)
    logo = models.ImageField(upload_to ='profile/', blank=True,null = True)
    profile_id = models.CharField(max_length=200)

settings.py

`

STATIC_URL = 'static/'

STATIC_DIR = os.path.join(BASE_DIR, 'static')

STATICFILES_DIRS = [STATIC_DIR]

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

`

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

картинка загружается в базу данных, но я получаю эту ошибку FileNotFoundError в /verify, но все файлы есть по этому адресу, который показывает ошибку.

я получаю эту ошибку FileNotFoundError в /verify, но все файлы есть по этому адресу, который показывает ошибку.

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