首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将文件移动到另一个目录django-storage s3

如何将文件移动到另一个目录django-storage s3
EN

Stack Overflow用户
提问于 2021-08-22 13:34:26
回答 1查看 87关注 0票数 1

我正在写一个新闻博客,在那里你可以向新闻中添加任意多的文件。对于存储属性的文件,我使用了amazon s3和django-strorage。但是在我添加了新闻更新视图之后,我在文件管理方面遇到了一些问题。

如您所见,这里是我的文件模型

代码语言:javascript
复制
class FileStorage(models.Model):
    file        = models.FileField(upload_to=uploadFile)
    upload_path = models.TextField(blank=True, default='files/')

    def __str__(self):
        return f'Файл: {self.file.name.split("/")[-1]}'

主要的问题是如何在将文件移动到另一个目录后更新FileField?

这是我的文件移动脚本。

代码语言:javascript
复制
bucket = S3Boto3Storage()
from_path = bucket._normalize_name(bucket._clean_name(self.instance.file.name))
to_path = bucket._normalize_name(bucket._clean_name(self.cleaned_data['upload_path']))
    
result = bucket.connection.meta.client.copy_object(
    Bucket=bucket.bucket_name,
    CopySource=bucket.bucket_name + "/" + from_path,
    Key=to_path)
bucket.delete(from_path)

所有的工作都很好,但只有path。FileField存储旧路径中的文件。如何将其更新为?

屏幕有问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-19 17:16:22

如果你想这样做,只需修改你的文件"name“参数,如下所示:

代码语言:javascript
复制
file.name = "new file path"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68881811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档