问题标签 [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 投票
0 回答
82 浏览

ftp - DJANGO-STORAGES,PARAMIKO:全局连接连接失败

我在使用 django-storages ( https://github.com/jschneier/django-storages ) 的 SFTP-API 时遇到了一个奇怪的问题。我正在尝试使用它来获取存储在不同服务器上的媒体文件,因此需要为 SFTP 下载创建代理,因为普通 Django 只是将 GET 请求发送到MEDIA_ROOT. 我认为中间件提供了一个很好的钩子:

这工作正常,但显然每次发出我不想要的网站调用时它都会打开一个新连接(它也会在 3 次重新加载或其他东西后崩溃,我认为到那时它必须有许多并行连接)。SFTP = SFTPStorage()因此,我尝试通过将-initialization 移动到__init__()仅调用一次的 -method 来通过 SFTP 打开一个与服务器的连接:

但是这个实现似乎不起作用,程序在方法之前SFTP.exists()或之后卡住了SFTP._read()

谁能告诉我如何解决这个问题?或者有没有人对如何解决这个问题有更好的想法?

提前致谢, Kingrimursel

0 投票
1 回答
435 浏览

django - Django 存储和 Boto3 未从 AWS S3 检索媒体

我正在使用开发服务器来测试使用 Django 存储和 Boto3 从 AWS S3 上传和检索静态文件。文件上传有效,但我无法检索文件。

这就是我得到的:

在此处输入图像描述

当我在另一个选项卡中查看 URL 时,我得到了这个

我还用我自己的凭证和 IAM 用户配置了 settings.py

0 投票
1 回答
177 浏览

django - 生产时在哪里存储 Django 的媒体文件?

所以我正在学习Django。我已经用它制作了一些网站。现在我将这些托管到 Heroku。我正在使用免费的 Dyno Heroku。另外,我使用supabase.io数据库而不是 Heroku 的,因为supabase在免费层上为数据库提供了更多空间。现在我面临的问题是媒体文件。我无法访问它们,Heroku因为我没有任何地方可以存储它们。

我已经看到了一些Heroku用于文件存储的插件,但要使用那些我需要提供我的信用卡信息的插件,我没有。

但我在supabase.io. 它提供了 1 GB 的免费存储空间,这对我来说已经绰绰有余了。但我不知道如何将它与我的 Django 应用程序一起使用。这就是我寻求帮助的原因。另外,如果有任何免费的替代方法可以在没有信用卡信息的情况下存储我的媒体文件,请随时指导我。因为我没有任何卡。

0 投票
0 回答
13 浏览

heroku - 如何在没有静态文件的情况下在 heroku 上托管我的网站?

我试图在 heroku 上托管我的网站,但是当我输入命令 git push heroku master 所以这个命令给我一个这样的错误:

https://git.heroku.com/mymailapp-live.git ![远程拒绝] master -> master (pre-receive hook denied) 错误:未能将一些参考推送到“https://git.heroku.com/mymailapp-live.git”

请帮我。我没有任何静态文件,并且我还运行 heroku config:set DISABLE_COLLECTSTATIC=1 以不收集任何静态文件或文件夹,并且我还没有创建任何静态文件夹。当我运行 disbled collectstatic 命令时,它还会向我显示如下错误:

警告:heroku 更新从 7.53.0 到 7.59.0 可用。!用法:heroku config:set KEY1=VALUE1 [KEY2=VALUE2 ...] !必须指定 KEY 和 VALUE 才能设置。

0 投票
1 回答
37 浏览

angular - Angular Interceptor 不发送响应头

当拦截器中没有设置标头时,我的 GET、POST 请求工作正常。如果我在拦截器中使用 setHeaders 来设置我的 userId 数据,我可以在 Network 选项卡中看到两件事:

  1. 没有看到之前可见的响应标头
  2. api 请求中的 CORS 错误和“显示临时标头”标记

在此处输入图像描述

代码(拦截器)

它对 GET 工作正常,但对 POST 失败。我也仅将 HTTPClient 用于请求

0 投票
0 回答
40 浏览

django - 我可以提供来自 django 的静态文件和来自 S3 的媒体文件吗

我正在尝试查看是否可以在 S3 上提供管理静态文件。我正在尝试运行 Wagtail fork (coderedCMS),并且已经花了很长时间让 fontawesome 图标工作。我已经尝试了一些不同的东西,但是不再值得头疼或花费时间了。

我想看看是否可以使用 AWS:S3、storages 和 boto3 来设置我的服务器,让 nginx 提供管理/静态文件,以及从 S3 提供的媒体。我不确定我必须做些什么才能做到这一点。我可以设置为所有来自 S3 的服务或所有来自我的服务器本身的服务,但不能混合使用。

谁能指出我正确的方向来实现这一点?

0 投票
0 回答
54 浏览

python - Django、SFTP存储文件处理问题

我在我的项目中使用 django-storages。用例:我从 vue 应用上传文件。我的服务器端(使用 django rest 框架)处理这个请求并上传文件(我想上传图片和视频,主要是 png 和 mp4)。

我的文件模型:

我的文件视图:

还有我的一个片段settings.py

我的问题是,下载后我无法访问文件。文件存储在服务器端,但是当我想从前端下载并打开它时,会出现错误,导致文件无法访问。

错误是:

我尝试了一些解决方案,链接如下:

已解决:带有 SFTP 的 Django-Storages:GET 请求失败

如何使用 django-storage sftp 下载文件?

这些都没有解决我的问题。我是使用 Django 的初学者,所以请尝试解释您的解决方案:)

0 投票
1 回答
131 浏览

django - 使用 django-storages 自定义 S3Boto3Storage

我开发了一个 Django 应用程序,我使用 VM 的磁盘来保存和提供媒体和静态文件,但在我的一个模型中,我想将我的文件保存在连接到我的 MinIO 对象存储的 FileField 中。我在settings.py

在我的模型中,我像这样使用 S3Storage:

使用这些代码,我可以将文件保存到存储中,但管理面板中的 URL 无法正常工作,因为它指向媒体文件 URL,如下所示:

但我希望它是这样的(预签名 URL):

0 投票
1 回答
36 浏览

python - Django 静态文件到 AWS S3 返回 403 禁止

我正在开发一个部署在 Heroku 的 Django(3) 项目。我正在尝试使用 Django 存储连接 AWS S3 以将静态和媒体文件上传到 S3 存储桶。

注意:我搜索了很多并尝试了我找到的所有解决方案,但没有解决我的问题,所以请不要将其标记为重复!

我创建了一个启用了公共访问的 S3 存储桶并添加了以下 CORS 配置:

此外,创建了一个具有编程访问权限的 IAM 用户并将权限授予为S3FullAccess

这就是我所拥有的**settings.py**

如果我直接从存储桶中打开文件,我可以在浏览器中看到该文件,但是当我加载我的网站(pythonist.org)时,这些文件会返回403 forbidden

这是来自浏览器的网络选项卡对文件的响应:

不知道这里出了什么问题,先谢谢了!

0 投票
1 回答
29 浏览

django - django storages 破坏了管理静态文件

我尝试使用 django-storages 从本地静态文件移动到 S3。我仔细阅读了文档,但仍然无法访问静态文件。

在本地环境中,我有:

STATIC_URL = '/static/'

在中settings.py,一切正常。

当我按照文档显示添加所有 S3 参数时:

我跑python manage.py collectstatic了似乎工作正常并将静态文件上传到存储桶。

但是运行服务器并进入管理页面,它看起来像这样:

在此处输入图像描述

这是因为它无权访问静态文件。没有错误被抛出/显示

有任何想法吗?

编辑:

所以显然我接到了一个禁止电话: 在此处输入图像描述

但我将我的 settings.py 更改为:

并确保访问可用(放置一个断点并使用这些确切的环境变量从该存储桶中使用 boto3 下载一个 css 文件,但仍然没有解决方案