問題タブ [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.
python - s3ストレージを使用したdjango-pipelineがjsを圧縮していません
私はs3でdjango-pipelineを使用しています。Javascript ファイルを結合して s3 バケットに保存することに成功しcollectstatic
ましたが、何らかの理由で圧縮されていません (ファイル、そのサイズ、およびコンテンツ エンコーディングを調べて確認しました)。それ以外の場合、生成された組み合わせscripts.js
で物事は正しく機能しています。
django-pipeline を使用するために行った変更は次のとおりです。
pipeline
インストール済みアプリに追加されました。'pipeline.finders.PipelineFinder'
に追加STATICFILES_FINDERS
。- 以下に示すように、このクラスがドキュメントで定義されている場所に設定
STATICFILES_STORAGE = 'mysite.custom_storages.S3PipelineManifestStorage'
します。 - 以下に示すように設定
PIPELINE_JS
します。これは機能しますが、圧縮されません。 PIPELINE_ENABLED = True
それ以来DEBUG = True
、私はローカルで実行しています。PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'
これはデフォルトのはずですが。- Yugliify Compressor を でインストールしました
npm -g install yuglify
。 PIPELINE_YUGLIFY_BINARY = '/usr/local/bin/yuglify'
デフォルトの withが機能するenv
はずですが。{% load pipeline %}
and{% javascript 'scripts' %}
which workを使用します。
もっと詳しく:
前述のように、圧縮されていないだけでcollectstatic
生成されます。scripts.js
そのコマンドの出力には次が含まれます。
Django 1.8、django-pipeline 1.5.2、django-storages 1.1.8 を使用しています。
同様の質問:
django - 開発マシンでの django-pipelines のテスト
開発中に django-pipelines をテストしたいと思います (つまり、django runserver のみを使用し、実稼働 Web サーバーを使用しない開発マシンで)。
通常、開発中、Django は である限り静的ファイルを提供しますDEBUG=True
が、 である場合はそうではありませんDEBUG=False
。したがって、適切な Web サーバーがなければDEBUG=True
、設定を維持する必要があるようです。通常は のdjango-pipelines
場合は圧縮を行いませんがDEBUG=True
、 を設定することで強制的に行うことができると思われますPIPELINE_ENABLED=True
。したがって、私の仮定は、
django-pipelines
私は自分の開発マシンでテストする立場にあるでしょう。私も追加しました
collectstaticを実行すると、出力 css ファイルがSTATIC_ROOT
myproj/static_media/static/css/out.css にコピーされました。ただし、Django はこの css ファイルを提供していません。HTMLはそれを探します
しかし、それは404です。
それにもかかわらず、私が変更した分PIPELINE_ENABLED=False
(まだDEBUG=True
など)、手動で/site_media/static/css/out.css
Djangoに移動すると、ファイルが提供されます。
django-pipelines
このセットアップが機能しないのはなぜですか? runserver しかないローカル開発マシンでテストするにはどうすればよいですか? (ちなみにこれはdjango 1.8です)。
css - django-pipeline で Bootstrap をオーバーライドする
私はdjango-pipelineパッケージとbootstrap.cssを使用しているDjangoアプリケーションを持っています:
}
上記のように、「bootstrapoverride.css」という追加のファイルを含めました。これを使用して、たとえばオーバーライド ファイルに Bootstrap の一部の機能をオーバーライドしたいと考えていました。
だから私はこれがうまくいくかもしれないと思ったが、オーバーライドは起こっていない.おそらくこれはパイプラインを使用することはできない. bootstrap.css ファイルを直接編集することは避けたいと思います。ここで何か洞察をありがとう。
django - django-pipeline DEBUG=True、圧縮ファイルが見つかりません
わかった。私はdjango-pipelineの使用に夢中になり、まったく使用しないことから一歩離れています。私はまだ生産していません。以下はすべて開発 ( DEBUG=True
) モードで行われています。私のcss静的ファイルは「project/static/css」というディレクトリにあり、「project/static_remote/css」というディレクトリに集めています(自分の開発サーバー内)。
私は以下を設定しました:
実行collectstatic
すると、すべてがうまくいき、master
ブランチ内のすべてのファイル (および圧縮ファイルmaster.css
) が「project/static_remote/css」に正常にコピーされます。ここまでやったー!
しかし、その後、テンプレート内の( )runserver
によって圧縮ファイルが見つかりません(明らかに があります)。を実行しても同じことが当てはまります。なぜこうなった?他のすべてのファイル ( ) は によって検出されます。{% static 'master' %}
href='/static/css/master.css'
{% load pipeline %}
findstatic 'css/master.css'
fonts.css animate.css etc
findstatic
master.css
これは、 「project/static/css」内にコピーがないためだと思われます。それとも、私が持っているためにこれが起こっていDEBUG = True
ますか?
「master.css」を「project/static_remote/css」から「project/static/css」に手動でコピーすると、すべて正常に動作しますが、それは望ましくありません。何か提案はありますか?
javascript - Uncaught ReferenceError: 親が定義されていません
ここのドキュメントに基づいて、browserifyとともにdjango-pipelineを使用しています-
http://gregblogs.com/how-django-reactjs-and-browserify/
このようにNPM/Bowerパッケージをロードすると、完全に正常に動作します-
問題は、build.browserify.js 内で child.js と parent.js を参照しようとしていることです。
これは3つのファイルの内容です -
child.js
親.js
build.browserify.js
ブラウザで実際に3つのエラーが発生します-
以下は、4 行目の child.js ファイルと parent.js ファイルの両方で発生します。
そして、3行目のbuild.browserify.browserified.jsでこれを取得します
これはそのファイルの内容です -
編集 -
このようにすべてのコードを単一の build.browserify.js ファイルに入れると、機能します-
django-pipeline - Django-pipeline の無効な構文
テスト プロジェクトで django-pipeline をセットアップしようとしていますが、明確な解決策がないバグに遭遇しています。これは、settings.py で構成されたパイプラインです。
構成からわかるように、この設定により、collectstatic を問題なく実行できます。ただし、これらの行のコメントを外すと、collectstatic は失敗します。以下にエラーを示します。設定で指定された宛先の場所で静的ファイルを収集するように要求しました。
助けていただければ幸いです。