问题标签 [python-django-storages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
876 浏览

django - django-storages + private S3 bucket - 如何将用户名设为文件夹名称?

我正在使用 django-storages 和私有 S3 存储桶来存储用户上传。我想要以下文件夹结构:

我显然知道如何做时间戳(2019-01-12 at 12:34:56),但是如何让用户的用户名进入路径?我的模型目前看起来像这样:

我可以为日期时间/时间戳添加一个 f 字符串。我明白这一点,我知道该怎么做。但是如何将用户的用户名也添加为文件夹?我需要以某种方式从视图中访问它,以便我知道 request.user 是谁,但我该怎么做呢?

0 投票
2 回答
4867 浏览

python - 以 minio 作为后端的 Django-Storages S3

我想将 django-storages 与 minio 一起使用,所以我尝试采用设置、配置等。我在网上找到了,但由于某种原因,我的访问密钥或提供它的方式失败,并出现以下错误:

如果我跑manage.py collectstatic

设置.py

也许有人已经这样做了?

0 投票
0 回答
33 浏览

django - Django-storages:在本地保存缓存版本以提高读取速度

使用 Django-storages,是否可以在本地保留缓存版本以供后续请求使用?

我正在尝试根据用户请求读取几个大文件(~10 mb)。由于我使用的是 elastic-beanstalk 和多个实例,因此我必须将它们保留在 S3 上。

这些文件是使用外部脚本更新的。Django 应用程序只读取它们。

0 投票
0 回答
405 浏览

django - django-storages 获取上传的 url

django-storagesDjango 2.x中使用手动上传文件而没有任何模型。

这是我使用 Django REST Framework (DRF) 的实现

该文件保存在S3 存储桶中,但现在我想在响应中返回上传文件的完整 URL,而不是Success.

如何获取上传文件的完整 URL?

settings

0 投票
1 回答
349 浏览

django - 使用 django-storages 进行 S3 版本控制

我在我的应用程序中使用django-storages,并且我想使用开箱即用的S3 版本控制。我的意思是,我想在不实现任何额外机制的情况下存储和检索同一文件的不同版本。

通过阅读文档,我了解到:

但是,转到代码。如果我有这个:

如何获取文档的一个特定版本?就像是:

我一直在阅读官方文档,但找不到如何:

  • 获取对象的可用版本
  • 检索一个特定版本

编辑:阅读源代码,我知道我可以在 url() 调用中使用参数,但不确定什么参数(版本?)以及如何获取对象的现有版本。

任何帮助表示赞赏。

0 投票
1 回答
362 浏览

django - django-storages 上传到 S3 关闭服务器,没有错误

我正在使用Django 2.xdjango-storages将媒体文件上传到S3 Bucket

我的模型就像

Django 设置有

并且环境变量设置为

当我从邮递员上传文件时,它会关闭服务器而没有任何错误。

我尝试调试 DRF Serializer 的保存方法

它打印第一行,但在该super().save()行之后没有输出。

从设置文件中删除django-storages配置工作正常,并在本地目录中上传文件。

编辑 2:从 Django shell 上传

使用以下命令从 Django shell 上传

给出错误

0 投票
0 回答
353 浏览

python - django storages - 在数据库中保存绝对路径?

如何在包含文件字段的表中保存绝对路径(如 /var/files/.. 或 s3://bucket/path)?
Django 默认使用 MEDIA_ROOT 作为前缀,并存储相对路径。
我将 django-storages 包用于 S3 后端。

0 投票
1 回答
718 浏览

django - django-storges 对 CloudFront 签名 URL 的支持

我想使用CloudFront 的签名 URL,而不是普通的未签名 URL。

django-storages提供了以下选项,AWS_S3_CUSTOM_DOMAIN但随后它会从 CloudFront 的子域生成未签名的 URL。默认情况下AWS_QUERYSTRING_AUTHTrue它会为 S3 生成签名 URL。为 CloudFront 生成签名 URL 的任何方式。

这是我希望打开的设置,但由于未签名的 URL,我禁用了它。
我希望为我的分发打开的设置

0 投票
2 回答
723 浏览

django - 使用 django-storages 指向静态文件的 URL

我已将 Django 设置为使用 django-storages 从 S3 存储桶提供静态文件。

不幸的是,静态文件的网址如下所示:

有没有办法对网址进行编码以避免泄露 AWS 访问密钥和签名?

0 投票
0 回答
105 浏览

django - Django 存储:使用 2 个媒体源

在我的 Django APP 中,我使用 Django Storages 和 Dropbox API 来存储媒体文件。这是设置。

我想在 Google CDN 中添加另一个存储,保留 Dropbox。可能吗?应该像覆盖DEFAULT_FILE_STORAGE

我找不到关于这个双重 Django 存储使用的太多信息。欢迎任何建议!