django - 在 Django 中使用不同的文件名覆盖 ImageField
问题描述
嗨,我正在 django 中制作一个项目,其中上传图像和渲染在那里,但我想让项目像它一样替换以前的图像,它可以用不同的名称就像我第一次上传像 san.png 这样的图像,如果我第二次上传上传 sanju.png 前一个应该会自动删除,文件夹中应该只有一个图像.....我该如何制定逻辑?
模型.PY
from django.db import models
class Image(models.Model):
image = models.FileField(upload_to='images', max_length=255)
解决方案
您可以在更新对象之前执行此操作:
import os
# obj is an `Image` instance
os.remove(obj.image.path)
# rest of your logic ...
推荐阅读
- xslt - 通过 XSLT 将 XML 转为文本
- java - 串行链接错误和错误路径 jre 1.7.0_15 32-bi
- html - 从 hta 按钮启动 plink-ssh 连接并将值传递给 ssh 命令
- android - 我应该在 onResume() 调用中从数据库中检索记录吗?
- jenkins-pipeline - Jenkins Scripted Pipeline: sshCommand 执行 statusCode
- php - 无法找到我的 iOS 设备 ID 并连接到 APNS 服务器以在 PHP 中进行推送通知
- swift - 如何在 swift (FCM) 中接收数据通知
- javascript - 如何修复“http://localhost:3000”已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
- git - 如何在 Colab 上克隆共享的私有 git 存储库?
- compression - 结构化消息压缩