問題タブ [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 に答える
656 参照

django - django-pipeline と bower をうまく連携させる

external/bower_components/プロジェクトルートの下にbowerコンポーネントをインストールしています。staticインストールされたアプリの一部であるだけでなく、追加の静的ファイルもあります。django-pipeline を使用して、bower_components他の静的ファイルをそのままにして、すべての静的ファイルを縮小しようとしています。

私の問題は、django-pipeline を使用して bower コンポーネントを縮小すると同時に、すべての bower パッケージを宛先ディレクトリにコピーしない方法がわからないことです。

settings.py:

を実行するpython manage.py collectstaticと、入れたいものすべてstaticfiles(静的ベースにあったものと、bower から引き込まれたものの縮小版) に加えて、bower にあるすべてのパッケージの完全なソースができあがります。これはエンドユーザーの観点からは機能しますが、実際には不要なジャンクがたくさんあります。

これを回避するために、 を試しpython manage.py collectstatic -i bower_componentsました。しかし、この場合、ignore はcollectstaticファイルをコピーしない原因となるだけでなく、django-pipeline がファイルを認識しない原因にもなり、最終的には

カスタムパイプラインファインダーを使用しようとすると、必要なすべての静的スクリプトと css とフォルダーが無視されpipeline.finders.FileSystemFinderます。collectstaticdjango.contrib.adminstatic/

collectstaticdjango-pipeline の組み合わせ/ミニフィケーションが別のグループに注意を向けている間に、 のコピー機能が 1 つのグループに注意を払うことができるように、ケーキを食べて食べる方法はありますか?

これを書いた後、インストールされたアプリのすべてのスクリプトと css を and で明示的に収集して縮小することが答えかもしれないことに気付きましたPIPELINE_CSSPIPELINE_JS、新しいアプリが統合されるたびに異常なオーバーヘッドになるため、それは理想的ではないようです。

0 投票する
1 に答える
1737 参照

django - パイプライン / yUglify の collectfiles が失敗する: 指定されたパスが見つかりません

私は、django-pipeline を機能させて、css と js のアセットを組み合わせて縮小しようとしています。次の問題を整理できないようです。私が実行すると:

エラーが発生します:

いくつかの追加パッケージをインストールする必要がありますか? もしそうなら、どのように?

django-pipeline の私の設定:

これは完全な出力です:

アップデート

別のコンプレッサーを使用してもう一度試しました:

これはまったく同じ結果をもたらします。何が間違っているのでしょうか?

更新 2

コンプレッサを None に設定すると、すべてが機能します。つまり、ファイルが結合され、静的ファイル フォルダに配置されます。また、正しく提供されます。

したがって、コンプレッサーへのアクセスまたは使用のいずれかである必要があります。Windowsで実行しています。

更新 3

/site-packages/pipeline/compressors/ のinit .py にいくつかの print() コマンドを追加しました。

コマンドは次のとおりです: /usr/bin/env/ yugliify --type=css --terminal これは (おそらく?) Windows では動作しません。

次に、それを AWS Elastic Beanstalk にデプロイしようとしましたが、エラーも発生します。

圧縮ビンの場所を手動で設定できることは知っていますが、Elastic Beanstalk ではどこに設定すればよいですか?

これを整理する方法はありますか?

0 投票する
4 に答える
1896 参照

python - Django の collectstatic を boto S3 で使用すると、しばらくすると "Error 32: Broken Pipe" がスローされます

S3 で boto を使用して、Django サイトの静的ファイルを保存しています。コマンドを使用するcollectstaticと、ファイルで停止してスローする前に、ファイルのかなりの部分が完全に"Error 32: Broken Pipe."アップロードされます コマンドを再度実行しようとすると、既にアップロードされたファイルをスキップし、中断したファイルから開始します新しいものをアップロードせずに同じエラーをスローします。

0 投票する
1 に答える
491 参照

django - django-pipeline で collectstatic 後にソース ファイルを自動的に削除する

django-pipeline を使用すると、collectstatic の後にソース ファイルを自動的に削除できますか?

例えば ​​:

collectstatic :

(jquery.js、d3.js、application.jsは要りません)

0 投票する
1 に答える
200 参照

django - Django collectstatic で管理メディア コンテンツが見つからない

VirtualenvやGunicornなどを使用してUbunutuでDjango 1.8.2プロジェクトを実行しています。何らかの理由でcollectstaticは管理メディアを取得しませんが、osxのローカル開発環境では動作します。

問題がどこから来たのかわかりませんか?設定ですか?しかし、なぜ私のUbuntuサーバーではなくosxで動作するのでしょうか?

ここに私の設定があります:

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 投票する
3 に答える
1995 参照

django - Django の静的ファイルとユーザーがアップロードしたファイル

大量のドキュメントを読んだ後でも、静的ファイルとユーザーがアップロードしたファイルとして正確にカウントされるもの、または正確に静的ファイルとは何かについて、まだよく理解していません。

1. 静的ファイル

Djangoでは、静的ファイルを「画像、javascript、css」などと表現しています。わかりました。しかし、これらの .py ファイルや .html テンプレート ファイルなどはすべて静的ではありませんか?? サイトの実行中に「変更」されることはありません。静的ファイルとは正確には何ですか? 「静的ファイルを提供する」とはどういう意味ですか? 「views.py」ファイルや「home.html」ファイルを「提供」するのとどう違うのですか?

それに加えて、なぜ「collectstatic」が必要なのですか? すべての静的ファイルを 1 か所に配置する必要があるのはなぜですか? 別のWebサーバーを使用してそれらを「提供」している場合、それは理にかなっていると思います...それでも、それが何を意味するのか正確にはわかりません。

また、「collectstatic」はどこに行って、想定されるすべての静的ファイルを見つけますか? すべてのコードを調べて、画像/JavaScript ファイルにアクセスしている場所を確認しますか?

2. ユーザーがアップロードしたファイル

この静的なものを額面通りに受け取ったとしましょう。ユーザーが画像をアップロードするとどうなりますか? バックグラウンドで常に「collectstatic」を実行するプログラムが必要ですか?

Djangoでは、メディア ファイルはユーザーがアップロードしたコンテンツを管理する方法であると説明しています。正直なところ、私はこれを試したことはありませんが (今すぐ試してみます)、それでもこれは疑問です: すべての「静的」ファイルを 1 か所に配置することが非常に重要である場合、なぜユーザーに対してそれを行わなくても突然 OK になるのでしょうか?アップロードされたファイル?

この「MEDIA_ROOT」ディレクトリ内のファイルは、「collectstatic」によって収集されませんか? すべての画像、javascript、css をこのメディア フォルダに入れるとどうなりますか? その後、何も収集されませんか?何か問題がありますか?

誰もがこれについて流せる洞察をありがとう。