问题标签 [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.
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
python - django-storages + CloudFront 的性能问题
我将 S3 Buckets 用于我的 Django 应用程序的静态和媒体文件。我在存储桶“前面”有 AWS CloudFront,我已经设置django-storages
好使用这个 CDN 为我提供文件。但是,我的请求花费了太长时间。值得一提的是,我正在使用HyperlinkedModelSerializer
and VersatileImageField
。我希望 CDN 检索到我的文件,但看起来我的应用程序正在使用 boto3 实际从 S3 下载文件(我认为这是在序列化过程中发生的)。
以下是来自 cProfile 的一些信息:
我认为应用程序不应该直接联系 S3 存储桶。有没有人经历过这个?这可能是因为配置错误,还是有任何与 DRF/django-storages/VersatileImage 相关的已知问题会严重影响性能?
python - 如何在 Django 中访问第一个制作的网站
嗨,我是 Django 新手,所以只想问一下我们是否创建了一个网站,然后再创建一个网站,那么我们如何访问创建的第一个网站
docker - django-storages 不在 AWS Beanstalk Docker 部署中上传图像
django-storages
我遇到了与 AWS Beanstalk 一起的奇怪行为。
我使用 AWS Beanstalk 部署了我的 Django 项目,设置如下
- 应用程序负载均衡器
- NginX
- 亚马逊 Linux2 AMI
- 码头工人形象
- Django 在容器入口点使用 Gunicorn 执行
问题描述
当我在本地启动堆栈时,
eb local run ...
一切正常。我可以上传图片,它们会出现在 S3 中!对于较大的图像,这需要一些时间,但绝对可以。但是,当我使用 部署堆栈时
eb deploy
,图像不再上传。POST
请求后GET
立即触发请求(即使对于大图像)并且不上传任何图像。
django-storages 我的 PROD 设置的一部分
媒体存储
我很感谢任何建议!不幸的是,我在日志中找不到任何有用的东西。
python - 如何在 Django 中访问 MEDIA_ROOT 中的文件
我在 MEDIA_ROOT 目录中有一个名为“user_001.txt”的文件。我正在尝试从视图中获取文件名并将其打印在控制台上。
django - DJango 使用来自单独的 AWS S3 Bucket 的模板
我有一个在弹性 beanstalk 环境中运行的 Django 服务器。我想让它呈现从单独的 AWS S3 存储桶中提取的 HTML 模板。我正在使用 Django-storages 库,它允许我使用存储桶中的静态和媒体文件,但我不知道如何让它呈现模板。
这样做的原因是,一旦我的站点运行,我希望能够添加这些 HTML 模板,而不必重新部署整个站点。
谢谢
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
我正在与大家分享我的错误照片。
django-rest-framework - ValueError:“field_name”属性没有与之关联的文件-仅在更新时?
我使用 DRF 和 django-storages 将文件上传到 S3 存储桶。
我可以从管理员或从 POST 到 API 端点创建任何带有文件的新条目。
但是由于某种原因,一旦我尝试更新实例(无论是从管理员还是从 API 端点),我都会得到一个ValueError
似乎表明DRF 找不到文件的信息。
但是当我使用 Django 的 admin 或 shell 时,我看到文件已正确保存(FieldFile
在实例上)并且文件已保存在存储桶中。
我没有覆盖任何东西:不是管理表单,不是序列化程序的更新方法,不是视图的检索方法等。
我不知道这怎么可能。
有什么建议吗?
django - 如何让 Django 在 AWS S3 上公开一些文件和私有媒体文件(没有 403 错误)?
我在我的 Django 应用程序中使用boto3和django- storages来提供来自 AWS S3 的文件。我希望我的静态文件是公开的,但其他文件是私有的。我已经让它有点工作但不完全。我的静态文件就像是私有的一样被提供,带有一个预签名的密钥。在我使用时的模板文件中:
而不是我想要的
我越来越
当模板作为 HTTPResponse 的一部分从服务器呈现时,这实际上是有效的,但当像这样的图像只是作为 .css 文件的一部分包含时则不行。在这种情况下,我会得到:
(我发现如果我复制并粘贴有问题的图像链接并将其替换为&
然后&
我可以访问,那就更神秘了。)
这是我配置 AWS 的方式:
其中myapp.storage_backends.py
包含:
在 AWS S3 上,我的存储桶策略设置如下:
如何解决此问题以使某些文件(如 static/ 中的所有内容)未签名和公开,但其他文件已签名和私有?
django - AWS_DEFAULT_ACL 应该如何在 django-storages 中使用?
我对django- storages 有点陌生,我对它的AWS_DEFAULT_ACL设置变量的用途感到困惑。我认为当它设置为 时None
,我的 AWS S3 存储桶上的存储桶策略将得到遵守。这似乎确实是真的。
我已关闭对我的存储桶的公共访问权限,并正在使用以下存储桶策略:
我可以运行python manage.py collectstatic
,它可以毫无问题地上传文件。
但是,如果我将AWS_DEFAULT_ACL更改为'public-read'
,运行 collectstatic 时会出错。
- AWS_DEFAULT_ACL 是否意味着仅当您将存储桶公开给所有人时才使用?
- 如果设置,它是否将给定的 ACL(例如
'public-read'
)应用于上传的文件? - 使用
'public-read'
set,我不能运行 collectstatic 吗?
[我正在探索这一切,因为我无法让我的静态文件对所有人可用,并且想知道 AWS_DEFAULT_ACL 是否有帮助。]
文档没有帮助,我对系统的工作原理很困惑,你可能会说......