問題タブ [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.
django - djangoでcollectstaticを使用する必要があるのはなぜですか?
djangoでcollectstaticを行う必要性は何ですか? ファイルを静的フォルダーにコピーして、サーバーにそのフォルダーを参照させることができないのはなぜですか? なぜそれが機能しないのですか?
python - なぜdjangoにはcollectstaticがあるのですか?
「website」というアプリがあり、プロジェクトのすべての静的ファイルを含む「静的」フォルダーが内部にあるプロジェクトについて考えると、単にマップするのではなく、すべての静的ファイルを収集して別のフォルダーに配置する必要があるのはなぜですかWeb サーバーの静的フォルダー (website/static)? Django が静的ファイルを収集する本当の必要性は何ですか? たくさんのアプリがあり、静的ファイルを別のフォルダーに置くことができるという理由だけで? それとも、それ以上のことが関係していますか?
python - Pyramid の Django-collectstatic に似ているものは何ですか?
さまざまなモジュールの統計を 1 か所で収集する必要があります。次に、この静的を 1 か所から nginx に渡します。もしかしたら、すでに実装されているのではないでしょうか?
python - dokku を使用して Django アプリをデプロイするときの Collectstatic 構成エラー
dokku を使用して Django アプリをデプロイすると、次のエラーが発生します
dokku コンテナーを実行する方法が見つかりませんでしheroku run python ./manage.py collectstatic --noinput
たが、試してみるdokku run my app python ./manage.py collectstatic --noinput
と、静的ファイルがSTATIC_ROOT
フォルダーに正常にコピーされ、エラー メッセージは表示されません。
collectstatic
コマンドをに配置することで問題を解決できましたProcfile
:
それでも、何が問題を引き起こしているのか、どのようにデバッグできるのかを知りたいです。何か案は?
python - Django collectstatic no such file or directory
django 1.7 では、collectstatic が例外をスローします。
多くのcollectstatic
-calls を実行しましたが、すべて正常に機能しましたが、今日はこの問題があります。
設定.py
BASE_DIR は正しいです。確認しました。ディレクトリ BASE_DIR/static/ が存在し、すべての静的ファイルがそこにあります。
トレースバック:
助言がありますか?
django - 最新バージョンの Boto、パイプライン、およびストレージで collectstatic を使用すると、x-amz-acl が正しく設定されない
アプリの依存関係を最新の状態に更新中です。requirements.txt に次の変更を加えました。
- boto: 2.34.0 にアップグレード
- django-pipeline: 1.4.2 にアップグレード
- django-require: 1.0.6 にアップグレード
- django-storages: 最新 (1.1.8) でした
S3 バケットで collectstatic を実行しようとすると、次のエラーが発生します。
明らかに x-amz-acl の有効な値で/tmp/tmpDyVin1
はないため、驚くことではありません。
この問題は、Boto、Require、Pipeline を組み合わせた静的ファイルを処理するための独自のクラスを指定したことに起因します。
設定.py
storage.py
これは、これらすべてのモジュールの古いバージョンで完全かつ一貫して機能しました。新しいコードを掘り下げると、問題は次の 3 つの相互作用にあることがわかります。
- が
S3BotoStorage.__init__()
呼び出されると、最初のパラメータacl
がこの tmp ディレクトリの値として渡されます。これは の以前の値を上書きし、public-read
上記の問題につながります。 - この
__init__()
ルーチンはCachedFilesMixin.__init__()
、 を受け取るによって呼び出されますargs = ('/tmp/tmpnNUVD9',)
。 - これ
__init__()
は によって呼び出されPipelineMixin.__init__()
、これを行います:
def __init__(self, location=None, *args, **kwargs):
if not settings.PIPELINE_ENABLED and location is None:
location = tempfile.mkdtemp()
super(PipelineMixin, self).__init__(location, *args, **kwargs)
したがって、問題は Pipeline がlocation
最初の引数として渡され、それが伝播されてacl
.
django - Collectstatic が openshift インスタンスにコピーするファイルが多すぎます
openshift django インスタンスで collectstatic オプションを使用したいのですが、不要なファイルが大量にコピーされているようです。
出力行の例
ここにsettings.pyからのいくつかのスニペットがあります
「ls -R $OPENSHIFT_REPO_DIR/ | grep virtualenv」で結果が得られない
ls -R $OPENSHIFT_REPO_DIR../.. | grep virtenv は古い virtenv の束を表示します
また、これは奇妙に思えます: > ls -la $OPENSHIFT_HOMEDIR