Django-ImageField图片不会自动替换问题

ImageField如果上传同一名字图片时,会默认用下划线命名新加图片,而不是替换的解决方案。

class OverwriteStorage(FileSystemStorage):
'''
Muda o comportamento padrão do Django e o faz sobrescrever arquivos de
mesmo nome que foram carregados pelo usuário ao invés de renomeá-los.
'''
def get_available_name(self, name):
    if self.exists(name):
        os.remove(os.path.join(settings.MEDIA_ROOT, name))
    return name

class Media(models.Model):
    name = models.CharField(u"Nome", max_length=128))
    media = models.FileField(upload_to=settings.MEDIA_DIR, storage=OverwriteStorage())
YI wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!