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

标签 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)它删除了图像,但 url 仍然存在,所以我收到了 404。如何清除图像和 url?

编辑:在我的模板中,我喜欢:
{% if profile.photo %}
    <img src="{{ MEDIA_URL }}{{ profile.photo }}" />
{% else %}
    <img src="{{ MEDIA_URL }}img/avatar.jpg" />
{% endif %}

最佳答案

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

关于django - 如何删除 Django 模型中的 ImageField 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329858/

相关文章:

django - 如何在 Django 模型中获取 upload_to 的当前日期

python - 如何为 Django 管理员创建选项卡?

django - 对于模型,null=True 是否意味着 default=None?

python - 在 Django REST 控件序列化程序中不会自动删除空格?

django - 更新对象的选择,每个对象都具有不同的批量值(Django)

django - 带有 Django 应用程序的 Apache 服务器上的 403 错误

python - Django 论坛应用程序项目结构

Django 管理列表过滤器

python - 如果django模型已经有相关类,如何将其转换为抽象模型

django - Django 的网络访问者统计信息?