问题标签 [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 回答
265 浏览

django - Django 存储对 s3 静态文件使用不正确的 url

我正在使用 Django 存储在 s3 上托管我的静态文件(css、js、图像)。当我加载我的网页时,django 一直指向我的 s3 公共存储桶的错误 url。例如,https://mysite.amazonaws.com/assets/images/cat.png尽管文件的公共 url 正确,它仍会继续返回https://mysite.s3-ap-southeast-2.amazonaws.com/assets/images/cat.png

设置.py

0 投票
0 回答
103 浏览

python - django-storages + CloudFront 的性能问题

我将 S3 Buckets 用于我的 Django 应用程序的静态和媒体文件。我在存储桶“前面”有 AWS CloudFront,我已经设置django-storages好使用这个 CDN 为我提供文件。但是,我的请求花费了太长时间。值得一提的是,我正在使用HyperlinkedModelSerializerand VersatileImageField。我希望 CDN 检索到我的文件,但看起来我的应用程序正在使用 boto3 实际从 S3 下载文件(我认为这是在序列化过程中发生的)。

以下是来自 cProfile 的一些信息:

我认为应用程序不应该直接联系 S3 存储桶。有没有人经历过这个?这可能是因为配置错误,还是有任何与 DRF/django-storages/VersatileImage 相关的已知问题会严重影响性能?

0 投票
0 回答
25 浏览

python - 如何在 Django 中访问第一个制作的网站

嗨,我是 Django 新手,所以只想问一下我们是否创建了一个网站,然后再创建一个网站,那么我们如何访问创建的第一个网站

0 投票
0 回答
15 浏览

docker - django-storages 不在 AWS Beanstalk Docker 部署中上传图像

django-storages我遇到了与 AWS Beanstalk 一起的奇怪行为。

我使用 AWS Beanstalk 部署了我的 Django 项目,设置如下

  • 应用程序负载均衡器
  • NginX
  • 亚马逊 Linux2 AMI
  • 码头工人形象
  • Django 在容器入口点使用 Gunicorn 执行

问题描述

  1. 当我在本地启动堆栈时,eb local run ...一切正常。我可以上传图片,它们会出现在 S3 中!对于较大的图像,这需要一些时间,但绝对可以。

  2. 但是,当我使用 部署堆栈时eb deploy,图像不再上传。POST请求后GET立即触发请求(即使对于大图像)并且不上传任何图像。

django-storages 我的 PROD 设置的一部分

媒体存储

我很感谢任何建议!不幸的是,我在日志中找不到任何有用的东西。

0 投票
1 回答
62 浏览

python - 如何在 Django 中访问 MEDIA_ROOT 中的文件

我在 MEDIA_ROOT 目录中有一个名为“user_001.txt”的文件。我正在尝试从视图中获取文件名并将其打印在控制台上。

0 投票
1 回答
211 浏览

django - DJango 使用来自单独的 AWS S3 Bucket 的模板

我有一个在弹性 beanstalk 环境中运行的 Django 服务器。我想让它呈现从单独的 AWS S3 存储桶中提取的 HTML 模板。我正在使用 Django-storages 库,它允许我使用存储桶中的静态和媒体文件,但我不知道如何让它呈现模板。

这样做的原因是,一旦我的站点运行,我希望能够添加这些 HTML 模板,而不必重新部署整个站点。

谢谢

0 投票
0 回答
19 浏览

python - 服务器错误如何解决 SMTNotSupported 扩展?

实际上我正在使用 django 创建一个注册表单,当用户提交它时,他将获得成功的注册邮件,但它会给我错误 SMTPNotSupported 扩展服务器。我的 settings.py 文件

  • EMAIL_HOST = 'smpt.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 我的用户名 EMAIL_HOST_PASSWORD = 我的密码 EMAIL_USE_TLS = True EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend

我正在与大家分享我的错误照片。

0 投票
1 回答
15 浏览

django-rest-framework - ValueError:“field_name”属性没有与之关联的文件-仅在更新时?

我使用 DRF 和 django-storages 将文件上传到 S3 存储桶。

我可以从管理员或从 POST 到 API 端点创建任何带有文件的新条目。

但是由于某种原因,一旦我尝试更新实例(无论是从管理员还是从 API 端点),我都会得到一个ValueError似乎表明DRF 找不到文件的信息。

但是当我使用 Django 的 admin 或 shell 时,我看到文件已正确保存(FieldFile在实例上)并且文件已保存在存储桶中。

我没有覆盖任何东西:不是管理表单,不是序列化程序的更新方法,不是视图的检索方法等。

我不知道这怎么可能。

有什么建议吗?

0 投票
1 回答
667 浏览

django - 如何让 Django 在 AWS S3 上公开一些文件和私有媒体文件(没有 403 错误)?

我在我的 Django 应用程序中使用boto3django- storages来提供来自 AWS S3 的文件。我希望我的静态文件是公开的,但其他文件是私有的。我已经让它有点工作但不完全。我的静态文件就像是私有的一样被提供,带有一个预签名的密钥。在我使用时的模板文件中:

而不是我想要的

我越来越

当模板作为 HTTPResponse 的一部分从服务器呈现时,这实际上是有效的,但当像这样的图像只是作为 .css 文件的一部分包含时则不行。在这种情况下,我会得到:

(我发现如果我复制并粘贴有问题的图像链接并将其替换为&然后&我可以访问,那就更神秘了。)

这是我配置 AWS 的方式:

其中myapp.storage_backends.py包含:

在 AWS S3 上,我的存储桶策略设置如下:

如何解决此问题以使某些文件(如 static/ 中的所有内容)未签名和公开,但其他文件已签名和私有?

0 投票
0 回答
482 浏览

django - AWS_DEFAULT_ACL 应该如何在 django-storages 中使用?

我对django- storages 有点陌生,我对它的AWS_DEFAULT_ACL设置变量的用途感到困惑。我认为当它设置为 时None,我的 AWS S3 存储桶上的存储桶策略将得到遵守。这似乎确实是真的。

我已关闭对我的存储桶的公共访问权限,并正在使用以下存储桶策略:

我可以运行python manage.py collectstatic,它可以毫无问题地上传文件。

但是,如果我将AWS_DEFAULT_ACL更改为'public-read',运行 collectstatic 时会出错。

  1. AWS_DEFAULT_ACL 是否意味着仅当您将存储桶公开给所有人时才使用?
  2. 如果设置,它是否将给定的 ACL(例如'public-read')应用于上传的文件?
  3. 使用'public-read'set,我不能运行 collectstatic 吗?

[我正在探索这一切,因为我无法让我的静态文件对所有人可用,并且想知道 AWS_DEFAULT_ACL 是否有帮助。]

文档没有帮助,我对系统的工作原理很困惑,你可能会说......