在Django-Storages S3中移除默认文件名
我正在使用django-storages和亚马逊的S3来上传图片文件,代码是:
models.ImageField(upload_to="img=%Y-%m-%d", max_length=256, blank=True, null=True)
但是,当文件上传到S3后,文件名的后面会带上原来的文件名。我想知道怎么才能去掉这个原来的文件名,换成一个随机的哈希值,比如说?
1 个回答
3
可以给 upload_to
提供一个可调用的对象,而不是一个字符串。这个可调用的对象会接收到正在保存的实例和文件名,然后你需要返回一个完整的路径,包括文件名——这样你就可以选择不使用原来的文件名。不过,你需要自己用 datetime.date.today()
来调用 strftime
。