问题标签 [collectstatic]

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 回答
344 浏览

django - 防止 collectstatic 尝试访问数据库

我有Dockerfile一个多阶段构建,我试图在其中运行collectstatic以获取所有静态文件并将它们复制到最终的 docker 映像中。目前我没有要访问的数据库,但是在collectstatic尝试访问具有虚拟值的数据库时,我收到了一个错误。

在我看来,应该不需要collectstatic访问数据库。我已经阅读了一些关于这个的问题,我认为 django 的维护者不打算改变这个。这就是为什么我需要知道是否有任何方法可以阻止对数据库的这种访问。

这是我所拥有的:

0 投票
0 回答
38 浏览

python - Heroku Django 请求不存在的静态文件

使用白噪声管理生产静态文件。Django==2.1.4 白噪声==4.1.2

我的生产服务器正在请求看起来像我的(即bootstrap.min.js)但末尾有字符(即。bootstrap.min.xyz789.js)的静态文件。

我注意到在我的STATIC_ROOT目录中已经有一堆这些(即。bootstrap.min.abc123.js),但它们与我的 heroku 站点请求的那些不匹配(即。bootstrap.min.xyz789.js)。我在本地和heroku中都运行了collectstatic,但没有运气。这些文件是什么,为什么它们不匹配?

PS-仅在heroku本地没有问题。

0 投票
0 回答
337 浏览

django - python ../manage.py collectstatic - RuntimeError: Max post-process pass exceeded

我有一个 Django 应用程序,它在 Heroku 上部署了一个 React 前端。当我尝试进行更改然后运行

python ../manage.py collectstatic

它似乎在对无限量的文件进行后处理。它永远持续下去,直到它最终超时。

当我在开发模式下运行相同的命令时,一切正常。我不知道出了什么问题。文件是否被错误地带入?

这是完整的消息:

以下是我的 settings.py 中的相关信息

提前非常感谢!

0 投票
3 回答
2116 浏览

python - Django collectstatic 无法使用 S3 进行生产,但相同的设置在本地工作

我一直在调整一些设置以制作更明确的本地和生产环境,我一定搞砸了。

以下是大部分相关设置。如果我将 production.py 设置(目前仅包含与 AWS 相关的设置)移动到 base.py,我可以从本地计算机更新 S3 就好了。同样,如果我将这些 AWS 设置保存在 base.py 中并推送到生产环境,S3 会相应地更新。此外,如果我从 production.py 打印一些东西,它会打印。但是,如果我在 manage.py 上将 production.py 设置为我的“本地”设置,或者当我使用如下所示的设置推送到 Heroku 时,S3 不会更新。

我的设置不正确怎么办?(好吧,我确定有几件事,但特别是导致 S3 不更新?)

这是一些相关的代码:

__init__.py(在包含基础、本地和生产的目录中)

base.py

local.py

production.py

wsgi.py

manage.py

0 投票
0 回答
630 浏览

python - Django Suspicious File Operation 连接路径位于基本路径之外

运行 python manage.py collectstatic 时出现以下异常:

django.core.exceptions.SuspiciousFileOperation:连接路径(/Users/global_assets/images/backgrounds/seamless.png)位于基本路径组件之外.....

虽然我找不到该文件在我的项目中的位置以及请求的位置。

这是我的 settings.py

我也安装了 django_heroku

0 投票
1 回答
845 浏览

python - 为什么 collectstatic 不复制我的所有目录?

目前正在为我的 django 网站进行部署。我试图让我的静态文件正常工作,所以很明显我使用了这个命令:python manage.py collectstatic. 一旦完成运行它打印119 files copied...我认为这是工作,直到我 cd'd 进入新创建的static目录并且没有找到我的css文件夹。奇怪的是,我确实看到了admin文件夹。看到这一点后,我static完全删除了我的文件夹并尝试使用scp. 我这样做了,我的所有其他文件夹(css、上传等,还有 admin 文件夹)都出现了。我现在尝试collectstatic使用那里的所有文件夹,只是为了找出我这样做的时间,它会删除我的所有文件夹,除了admin文件夹。当我使用 runserver 命令启动网站时。我的主页上没有css,但管理页面中有。

这就是取景器中一切的样子。

这是我的settings.py

很感谢任何形式的帮助!!

提前致谢!

0 投票
1 回答
69 浏览

python - Django 静态文件未使用 NGINX 加载

我正在尝试使用 NGINX 在生产服务器上发布我的第一个 Django 应用程序。

nginx配置

在我的设置中,我有以下代码

我在 urls.py 中添加了一个

但是,当我在生产服务器上运行 collectstatoc 时,我得到了这个错误:

我该如何解决?

0 投票
0 回答
272 浏览

python - Django Whitenoise 有时在 ECS 中使用调试 False 不提供静态文件

使用 Whitenoise 和 Debug=False 在生产中不能很好地提供我的静态文件。

有时它服务,有时它找不到静态。我有以下设置:

在部署到 AWS ECS 时,我通常在 docker 上收集静态数据。此外,如果我在python manage.py collectstatic本地运行,我可以在我的 STATIC_ROOT 上找到文件。

问题出在调试 False 的生产中,如果我通过浏览器访问,有时它会返回静态正确,有时它会给出 404 错误。

我的包版本:

  • django==3.0.3
  • 白噪声==5.0.1

它可能是什么?请提供任何帮助。

0 投票
1 回答
431 浏览

django - 部署到多台服务器时如何管理 Django 应用程序的 collectstatic

我目前的设置:

  • 弹性负载均衡器后面的多个 AWS Ec2 实例
  • Github 中的 Django 应用程序源代码
  • AWS S3 托管我的静态文件
  • CodeDeploy 将存储库克隆到新实例上

我正在使用 Docker 在实例上实际构建应用程序。将存储库克隆到实例后,我构建 docker 映像,在其中运行我的 gunicorn 服务器,并将端口 80 请求转发到映像。

我的问题是关于“collectstatic”的。现在,我在 Dockerfile 中包含“python manage.py collectstatic”作为构建步骤之一。

我面临的问题是, collectstatic 当前在部署期间在每个新实例上运行,因此重复了工作。当需要将新的静态文件上传到 s3 或需要更新修改的静态文件时,也会导致冲突。一个实例将删除文件并开始将其复制,第二个实例将尝试对刚刚删除的文件执行读取操作,并会因botocore.exceptions.ClientError: An error occurred (404) 调用HeadObject 操作:未找到

我应该如何在部署期间管理更新静态文件?我希望能够在部署期间只运行一次 collectstatic,但不确定如何通过 CodeDeploy 将其与我当前的部署集成,这似乎没有提供任何可以运行自定义脚本的预部署挂钩(CodeDeploy 有每个实例挂钩,但这无济于事,因为我需要在给定部署上发生的事情,而不是在部署期间创建的每个实例上)

任何帮助或建议将不胜感激。我确信我的设置有问题,因此任何有关在部署期间通常如何处理静态文件的信息或指导(当您有多个要部署的实例时)都会非常有帮助。

0 投票
1 回答
648 浏览

python - Collectstatic 失败 - botocore.exceptions.ClientError:调用 HeadObject 操作时发生错误 (404):未找到

我正在尝试在部署到 AWS 的舞台上运行 collectstatic。我收到以下错误,并且没有文件被放置在存储桶中:

我的静态文件设置在settings.py中如下:

我正在使用的自定义存储类是:

Requirements.txt 包括:

当我ManifestFilesMixinManifestStaticFilesStorage类中删除时,collectstatic 工作,但显然不是我需要的散列文件或 staticfiles.json。

我花了好几天的时间试图弄清楚这一点,但我很困惑可能是什么原因。任何信息,将不胜感激。