问题标签 [django-pipeline]

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 投票
5 回答
2341 浏览

python - django-pipeline 和 s3boto 存储似乎不能一起工作

我正在尝试将 django-pipeline-1.1.27 与 s3boto 一起使用来压缩和过滤静态文件,然后将它们上传到 s3 存储桶。如果我只是使用:

然后它可以工作,我得到一个静态文件夹,其中包含我配置的漂亮版本文件。一旦我切换到

我明白了

这是我的文件之一。那么为什么当我切换到 s3boto 存储时,管道不再想要执行过滤/连接/压缩步骤呢?

可能是我在做某事。如果有帮助,这是其他配置:

我的网站在 Django 1.3.1 上。

我正在运行的命令是:

AWS 信誉也在设置中,但这没有实际意义,因为它甚至还没有达到这一点。

更新添加了评论中要求的完整堆栈和设置

更新应图书馆作者的要求,我尝试升级到最新的测试版。到目前为止的观察结果:

  1. 我现在不知道如何获取版本化压缩文件
  2. collectstatic 给我留下了压缩文件原件
  3. 配置 boto 存储时仍然从 django-pipeline 收到相同的错误:它想将我的文件发送到 s3,但我什至看不到它在哪里暂存我的资产。STATIC_ROOT 中没有任何内容。

更新我创建了最简单的项目,适用于查找器存储,然后与 S3Boto 中断。我已将其推送到 github,并包含了堆栈跟踪的捕获。

https://github.com/estebistec/simple_pipeline https://raw.github.com/estebistec/simple_pipeline/master/STACKTRACE

如果有人告诉我我正在做一些非常愚蠢的事情,我会欣喜若狂,而这一切都应该奏效。

0 投票
2 回答
8096 浏览

django - Yuglify 压缩器无法从通过 npm 安装的包中找到二进制文件

我有一个全新的 virtualenv 环境,并且拥有最新的 django-pipleline。

使用 Closure 的 JS 压缩效果很好,但是使用 Yuglify 的 CSS 压缩失败,由于节点错误:

当我尝试收集静电时:

它说:

但是我已经清楚地安装了 yuglify 甚至是全局的:

尝试在设置中设置 biney 也无济于事:

我仍然得到同样的错误。为什么现在 npm 出现这样的问题?有什么我必须额外设置的吗?

或者有没有办法用 pip 安装 yuglify?

非常感谢,

0 投票
2 回答
186 浏览

css - 当我在 Django 中使用管道压缩所有 css 文件时,如何指定特定于设备的 css 文件?

为了使用 CSS3 媒体查询来创建我的网站的移动版本,我将创建一个用于小屏幕设备的单独 css 文件。如果我不在 django 中使用管道压缩器,我只需在我的主样式表之后添加以下行:

但是现在我正在使用 Django 管道来压缩我所有的 css 文件,包括 jquery、jquery-ui 和我的常规 css 文件,如下所示:</p>

因此,我想知道如何将media="only screen and (max-device-width: 480px)"信息包含在管道中的新的小型设备特定 css 文件中,以让它知道它仅适用于小型设备。

0 投票
1 回答
570 浏览

django - 使用类似于 Rails JST 的 Django 管道分配主干模板?

我正在 Django 之上构建一个大型 Backbone Marionette 应用程序,利用 Django 资产管道来编译所有资产。

现在,我将 Handlebars 模板保存为 app 对象中的 JS 字符串,如下所示:

我不确定将模板保存到 JS 字符串中是否真的是最好的方法。使用 Rails,您可以保存模板文件并使用 JST 在文件结构中直接引用它们:

我的理解是这是一个融入 Rails 的特性。Django可以做到这样的事情吗?或者,是否有另一种更有效的方式来处理我的模板?

0 投票
1 回答
749 浏览

python - 防止 Django Pipeline 对某些文件进行后处理

我目前正在实施 Django Pipeline 来缩小我的 CSS/JS,但我想停止它向某些文件附加唯一标识符。

这是因为我正在使用 django-tinymce 并且某些弹出窗口由于 Django Pipeline 而失败。我收到以下错误消息:

由于 Django 管道已将 table.htm 更改为:

如果有人知道如何在某些应用程序上关闭此位,我将不胜感激;在文档中找不到任何内容。

0 投票
1 回答
515 浏览

django - OSError:[Errno 32] 使用 Django 管道损坏管道

我最近在 CentOS 5.7 上安装了 django-pipeline。我在 /usr/local/bin/yuglify 安装了 yuglify 并更改了 PIPELINE_YUGLIFY_BINARY 指向那里。

但是,每当我运行 collectstatic 时,我都会得到以下信息:

任何帮助将不胜感激。(使用 Django 1.5.1 和 python 2.6.8)

0 投票
0 回答
110 浏览

django - 使用 DEBUG = True 的串联 JS

在我的登台服务器上,我希望它使用连接和缩小的 JS(因为我希望它与生产服务器尽可能相似)。这对于缓存清除也很重要,而不是指向云端的单个文件(我在其中托管我的静态资产)。但我也想要 DEBUG = True 这样我就可以......好吧......调试模板和服务器响应等等。

有谁知道这样做的方法?

0 投票
1 回答
682 浏览

django - 当 LESS 不编译时,在 django-pipeline 上强制异常

我安装了 django-pipeline 并使用它将 LESS 文件编译成 css 文件。大多数时候,当我运行 collectstatic 时,它会按预期工作:

  • stylesheet.less -> stylesheet.css -> stylesheet.min.css

但是,如果 LESS 文件有语法错误,django-pipeline 将忽略它并使用旧版本的 stylesheet.css 而不告诉我:

  • stylesheet.less被悄悄丢弃
  • 样式表.css -> 样式表.min.css

删除 stylesheet.css 文件将强制 django-pipeline 在出现错误时通知我,但我希望它只是告诉我。是否有设置强制 django-pipeline 在我有语法错误时告诉我,或者这只是一个错误/缺少功能?

我的设置非常简单。以下是相关设置:

0 投票
1 回答
842 浏览

python - 如何让 django-storage 和 django-pipeline 一起工作

我想在 heroku 上同时使用 django-pipeline 和 django-storage 作为个人应用程序。只使用 django-pipeline 效果很好,只使用 django-storage 就像一个魅力,但我无法让它们一起工作:(

当您阅读文档时,您会发现这可以使两者都与collectstatic一起使用:

Django管道:

Django-存储

所以这两个应用程序都需要设置 STATICFILE_STORAGE; 当我为亚马逊 s3 设置存储时;django-pipeline 不会创建 min.css 和 min.js ......

所以我在堆栈上找到了这个解决方案并做了以下事情:

现在,每次我使用 collectstatic 命令时,静态文件都会发送到亚马逊 S3,但 django-pipeline min.css 和 min.js 不会发送......在我的 STATIC_ROOT 目录中也没有它们的踪迹......

你知道我怎么能同时使用这两个吗?

编辑1:

现在我有了这个:(我改变了 s3storage :))

0 投票
1 回答
215 浏览

javascript - 有什么方法可以为 Django 中的不同模板加载、最小化和组合不同的 javascript 文件?

现在,我将一些常见的 javascript 文件放在PIPELINE_JS设置中。但我也想根据每个单独的模板加载更具体的 js 文件。我知道我可以简单地添加一个script标签以在每个模板中包含相应的 js 文件,但这会向服务器添加额外的请求,我认为这不是一个好主意。我想做的理想方式是使用PIPELINE基于不同模板来加载、最小化和组合不同的js文件。有没有办法做到这一点?