9

Amazon S3 を使用して Django プロジェクトの静的ファイルを保存していますが、collectstatic更新されたファイルが見つからず、新しいファイルしか見つかりません。

私は何年もの間答えを探していましたが、何かが正しく構成されていないと思います。このブログ投稿に従って、すべてをセットアップしました。

私の問題と同じように見えるこの質問にも遭遇しましたが、すでにすべての解決策を試しました。

この質問で提案されているこのプラグインを使用してみました。

役立つ情報を次に示します。

設定.py

...
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
...
# S3 Settings
AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
AWS_PRELOAD_METADATA = False

要件.txt

...
Django==1.5.1
boto==2.10.0
django-storages==1.1.8
python-dateutil==2.1

編集1:

この質問が私自身の状況に特有すぎて、大勢の聴衆の役に立たない場合は申し訳ありません. それにもかかわらず、これは長い間私の生産性を妨げており、解決策を探すのに何時間も費やしてきました.

編集2:

どこかで同様の問題に遭遇しました。AWS バケットの場所とは異なるタイムゾーンにいます。デフォルトでcollectstaticタイムスタンプを使用する場合、プロセスに干渉する可能性はありますか?

ありがとう

4

5 に答える 5

6

何時間も掘り下げた後、このバグレポートを見つけました。

以前のバージョンの Django ストレージに戻すように要件を変更しました。

django-storages==1.1.5
于 2013-08-30T06:21:39.770 に答える
3

Github で antonagestam によって作成されたこのプラグインの使用を検討することをお勧めします: https://github.com/FundedByMe/collectfast

ファイルのチェックサムを比較します。これは、ファイルがいつ変更されたかを確実に判断する方法です。これは、この他のスタックオーバーフローの質問で受け入れられている回答です:静的ファイルをs3に同期するためのmanage.py collectstatic (w/ s3boto storage backend)のより高速な代替手段は?

于 2013-08-29T23:54:31.073 に答える