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

python - 为什么我的 django 静态文件最后有数字

我必须调试一些现有的 Django 项目来构建其他开发人员。

在我的本地开发环境中,所有静态文件的路径都像

/static/myapp/module/user.js

但是当我testing在测试服务器上看到 html 时,我可以看到类似的文件

static/myapp/module/user.42323gdb.js

现在我想知道为什么系统使用该文件而不是 user.js。

有没有我可以修复的设置或者它打算这样做

0 投票
1 回答
656 浏览

django - 让 django-pipeline 和 bower 一起玩得很好

我正在将凉亭组件安装到external/bower_components/我的项目根目录下。我有额外的静态文件static以及一些已安装应用程序的一部分。我正在尝试使用 django-pipeline 来缩小所有存在的静态文件,bower_components而我不理会其他静态文件。

我的问题是我不知道如何使用 django-pipeline 来缩小我的凉亭组件,同时又不将所有凉亭包复制到目标目录。

settings.py

当我运行时python manage.py collectstatic,我最终得到了我想要的所有staticfiles东西(静态基础中的东西以及从凉亭中拉入的东西的缩小版本),以及凉亭中每个包的完整来源。从最终用户的角度来看,这是可行的,但是我实际上并不想要很多多余的垃圾。

为了解决这个问题,我尝试了python manage.py collectstatic -i bower_components. 但是在这种情况下,忽略不仅会导致collectstatic不复制文件,还会导致 django-pipeline 看不到文件,最终导致

如果我尝试使用一些自定义管道查找器,例如pipeline.finders.FileSystemFinder它会导致collectstatic忽略我想要的所有静态脚本和 cssdjango.contrib.admin以及我的static/文件夹。

有没有一种方法可以让我吃蛋糕并吃掉它,这样我就可以获得collectstatic复制功能来关注一个组,而 django-pipeline 的组合/缩小关注另一个组?

写完之后,我意识到答案可能是使用 and 显式收集和缩小我安装的应用程序中的所有脚本和 css,PIPELINE_CSS但这PIPELINE_JS似乎并不理想,因为每次集成新应用程序时都会产生不寻常的开销。

0 投票
1 回答
1737 浏览

django - 管道 / yUglify 的收集文件失败:系统找不到指定的路径

我一直在尝试让 django-pipeline 来组合和缩小我的 css 和 js 资产。我似乎无法解决以下问题。当我运行时:

我收到一个错误:

我可能需要安装一些额外的软件包吗?如果是这样,怎么做?

我对 django-pipeline 的设置:

这是完整的输出:

更新

我用另一个压缩机再次尝试过:

这给出了完全相同的结果,我可能做错了什么?

更新 2

如果我将压缩器设置为 None 一切正常,即文件被合并并放置在静态文件夹中。他们也得到了正确的服务。

所以它必须是访问或使用压缩器的东西。我在 Windows 上运行。

更新 3

我在 /site-packages/pipeline/compressors/ 中添加了一些 print() 命令到init .py

命令是: /usr/bin/env/ yuglify --type=css --terminal 哪个可以(可能?)永远不会在 Windows 上工作。

然后我尝试将它部署到 AWS Elastic Beanstalk,但我也收到了一个错误:

我知道可以手动设置压缩机箱的位置,但是在哪里为 Elastic Beanstalk 设置它?

任何建议如何解决这个问题?

0 投票
1 回答
1084 浏览

python - Django pipeline - How to serve static files after running collectstatic?

My project structure

So I run the collectstatic command. My css/js files are gathered (and compressed into a single file) into the STATIC_ROOT directory (myProject/myProject/static). So far so good.

First question: How do I serve them?

I tried calling http://127.0.0.1:8000/static/css/styles.css but it returns a 404 file not found error.

I tried adding STATIC_ROOT in the STATICFILES_DIRS but then I get the error:

The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.

Second question: Can Django serve "project-wide" static files?

I know that you can serve "application-wide" static files by calling "/static/myApp/my-static-file.css". But does Django know about myProject/myProject/static the way it knows about the static folder inside each app? Or is it something you need to tell explicitly?

I've read some blog/forum posts saying that you need to change urls.py to but I tried, without success. Do I have to?

I find it pretty hard to find information about static files in Django's documentation and I'm very confused right now.


EDIT: now I am really confused: I tried setting PIPELINE_ENABLED = False and now this url works. http://127.0.0.1:8000/static/css/styles.css but it doesn't help because when PIPElINE_ENABLED is False, it doesn't try to call the compressed css, but all files separately.

0 投票
4 回答
1896 浏览

python - 将 Django 的 collectstatic 与 boto S3 一起使用会在一段时间后引发“错误 32:Broken Pipe”

我正在使用 boto 和 S3 来存储我的 Django 站点的静态文件。使用该collectstatic命令时,它会完美地上传大量文件,然后在文件处停止并抛出"Error 32: Broken Pipe."当我尝试再次运行该命令时,它会跳过它已经上传的文件并从它停止的文件开始,之前在没有上传任何新内容的情况下抛出相同的错误。

0 投票
1 回答
491 浏览

django - 使用 django-pipeline 收集静态后自动删除源文件

使用 django-pipeline,是否可以在 collectstatic 之后自动删除源文件?

例如 :

收集静态:

(我不想要 jquery.js、d3.js、application.js)

0 投票
1 回答
200 浏览

django - Django collectstatic 找不到管理媒体内容

我在 Ubunutu 上使用 Virtualenv 和 Gunicorn 等运行 Django 1.8.2 项目。由于某种原因,collectstatic 没有获得管理媒体,但它确实适用于我在 osx 上的本地开发环境。

我不确定问题出在哪里?是设置吗?但是为什么它在 osx 上运行而不是在我的 Ubuntu 服务器上运行呢?

这是我的设置:

0 投票
4 回答
2182 浏览

python - 如何为我的 Django 项目的本地开发禁用白噪声?

我已经使用Heroku Django 项目模板设置了一个部署在 Heroku 上的Django 项目。Heroku 的模板使用whitenoise来收集位于我的项目根目录的 /static/ 目录中的静态文件。

这对我的生产环境非常有用;每次我将新文件推送到服务器时,Heroku 都会运行“manage.py collectstatic”。但是,在本地开发时会很痛苦:每次我更改我的静态文件(例如,css)时,我都必须手动运行“python manage.py collectstatic”,然后才能在我的开发服务器上看到更改。

有没有一种简单的方法可以在我的本地机器上禁用白噪声,这样我每次想查看本地静态文件的更改时就不必运行“python manage.py collectstatic”?

我尝试创建一个单独的“development_settings.py”文件并删除该文件中对 whitenoise 的所有引用,但它不起作用,因为在 wsgi.py 中仍然引用了 whitenoise,这会导致错误。

0 投票
1 回答
559 浏览

django - 如何在heroku上为django设置collectfast?

如何在heroku上为django设置collectfast 这是假设我已经成功设置了从 Amazon S3 托管和服务的静态文件。

0 投票
3 回答
1995 浏览

django - Django 静态与用户上传的文件

在阅读了大量文档之后,我仍然没有很好地了解究竟什么是静态文件与用户上传的文件......或者静态文件究竟是什么。

1. 静态文件

Django静态文件描述为“图像、javascript、css”之类的东西。好的,有道理。但是所有那些 .py 文件和 .html 模板文件等......它们不是静态的?当网站运行时,它们不会“改变”。究竟什么是静态文件?“提供静态文件”是什么意思?这与“提供”“views.py”文件或“home.html”文件有什么不同?

最重要的是,为什么我什至需要“collectstatic”呢?为什么我所有的静态文件都需要放在一个地方?我想如果您使用单独的网络服务器来“服务”它们,那是有道理的......仍然,不确定这到底意味着什么。

另外,无论如何,“collectstatic”去哪里找到所有假定的静态文件?它是否会遍历我的所有代码并查看我在哪里访问图像/javascript 文件?

2.用户上传的文件

假设我只是从表面上看这个静态的东西,如果用户上传图片会发生什么?我是否需要在后台运行的程序不断运行“collectstatic”?

Django媒体文件描述为管理用户上传内容的一种方式。老实说,我还没有尝试过(现在会这样做),但这仍然代表了一个问题:如果将所有“静态”文件放在一个地方如此重要,为什么突然不为用户这样做是可以的 -上传的文件?

这个“MEDIA_ROOT”目录中的文件不是由“collectstatic”收集的吗?如果我只是把我所有的图片/javascript/css 放到这个媒体文件夹中呢?然后什么都没有收集?这有什么问题吗?

感谢任何人都可以对此提出的任何见解。