如何删除Django模型中的ImageField图像

时间:2016-12-26 10:31:00

标签: django django-models

我有Profile这样的模型:

class Profile(models.Model):
    photo = models.ImageField(upload_to="img/users/", blank=True)

我希望我的用户能够移除他们的个人资料图片,以便photo中没有图像,即空白。

我尝试Profile.objects.get(id=1).photo.delete(save=False)删除了图片,但网址仍然存在,所以我得到了404.如何清除图片和网址?

编辑:在我的模板中,我喜欢:

{% if profile.photo %}
    <img src="{{ MEDIA_URL }}{{ profile.photo }}" />
{% else %}
    <img src="{{ MEDIA_URL }}img/avatar.jpg" />
{% endif %}

1 个答案:

答案 0 :(得分:6)

Profile.objects.get(id=1).photo.delete(save=False)更改为Profile.objects.get(id=1).photo.delete(save=True)

https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.fields.files.FieldFile.delete