Как удалить / заменить файл из поля изображения - PullRequest
0 голосов
/ 26 февраля 2020

как удалить / заменить старый файл при загрузке нового файла. Например, если пользователь загрузил изображение профиля (img1), то если этот же пользователь загрузит новое изображение профиля (img2), (img1) будет удалено / заменено на (img2). Но когда я пытаюсь загрузить новое изображение, оно дублируется в новую строку в базе данных, и изображение отображается в шаблоне несколько раз.

class Profile(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE, null=True, blank=True)
    profile_pic = models.ImageField(upload_to='ProfilePicture/', blank=True)

def home(request):
    profile_img = Profile.objects.filter(user=request.user.id)



{% for pic in profile_img %}
{% if pic.profile_pic %} 
<img src="{{ pic.profile_pic.url }}">
{% endif %} 
{% endfor %} 

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Этот код работает для меня, просто добавьте это в метод POST:

m, created = Profile.objects.get_or_create(user=request.user )
m.profile_pic = request.FILES['profile_pic'] 
m.save()
0 голосов
/ 26 февраля 2020

Чтобы обновить изображение, вам необходимо обновить значение profile_pi c, используйте для обновления ниже:

profile_img = Profile.objects.filter(user=request.user.id).update(profile_pic=<NEW_VALUE>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...