Как загрузить случайные изображения из папки в базу данных
Я хочу загрузить случайные картинки из статической папки с именем в мою базу данных. Это мои файлы. Пожалуйста, подскажите способ. Я застрял здесь навсегда.
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 at /verify но файлы все есть по этому адресу, который показывает ошибку.