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

Nic*_*joh 4 django django-models

我有一个Profile这样的模型:

class Profile(models.Model):
    photo = models.ImageField(upload_to="img/users/", blank=True)
Run Code Online (Sandbox Code Playgroud)

我希望我的用户能够删除他们的个人资料图片,以便没有图像,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 %}
Run Code Online (Sandbox Code Playgroud)

小智 7

更改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