У меня есть приложение профиля, где пользователи могут загрузить изображение профиля. Я сохраняю картинку с именем пользователя, например. ifakih.jpg. Если этот файл уже существует, и они хотят изменить изображение своего профиля, я удаляю старый и заменяю его новым. Я вижу изменения в моем каталоге. Старый ifakih.jpg заменяется новым. Тем не менее, мой сайт по-прежнему использует старое изображение. Если я иду к администратору и проверяю поле изображения для этого пользователя, оно указывает на правильный каталог и изображение, но содержимое неверно.
Models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
name = models.CharField(max_length=64,blank=True)
profilePic = models.ImageField(blank=True, null=True, upload_to= path_and_rename)
phoneNumber = models.CharField(max_length=12,blank=True)
streetAddress = models.CharField(max_length=64,blank=True)
@receiver(pre_delete, sender=Profile)
def post_delete(sender, instance, **kwargs):
"""
Deleting the specific image of a Post after delete it
"""
if instance.profilePic:
if os.path.isfile(instance.profilePic.path):
os.remove(instance.profilePic.path)
@receiver(pre_save, sender=Profile)
def post_update(sender, instance, **kwargs):
"""
Replacing the specific image of a Post after update
"""
if not instance.pk:
return False
if sender.objects.get(pk=instance.pk).profilePic:
old_image = sender.objects.get(pk=instance.pk).profilePic
new_image = instance.profilePic
if not old_image == new_image:
if os.path.isfile(old_image.path):
os.remove(old_image.path)
else:
return False