2017-04-05 5 views
3

を使用します設定ジャンゴ/セキレイメディアは、私は、次のガイドを使用していS3

https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/

をする「の設定Djangoのメディアは、S3を使用する」方法であなたに指示セクションで。私はWagtailのためにこれを使用しています。

"custom_storages.py"設定をどこに置くべきかは不明です。どこにでも置いているようには思えません。私はWhitenoiseに戻りました。

ありがとうございます!

+0

ちょっとしたアドバイス。私は同じチュートリアルに従ってそれを動作させましたが、 'django-storage 'プロジェクトは積極的に維持されていません。私はバグを発見してPRを発行しましたが、マージされたりコメントされたりしていませんでした。私はS3だけを使用していたので、他のストレージタイプは必要ありませんでしたので、私はdjango-s3-storageを使用するように切り替えました。これは物事を大幅に簡素化し、十分に文書化されています。あなたはそれをここで見つけることができます:https://github.com/etianen/django-s3-storage – FlipperPA

+0

@FlipperPA Django-storageは積極的に維持されています。あなたがコミット履歴を見ると、ほぼ毎日アップデートが表示されます。 – dentemm

+0

@dentemm公正な点、私はちょっと調べなかった。しかし、このPRはかなりのバグ修正です。https://github.com/jschneier/django-storages/pull/233 Wagtailに関して、これはWagtailのユーザーがアップロードした画像/文書を'content_length'の代わりに' size'が使われるべきであるからです。 – FlipperPA

答えて

0

あなたは(私はあなたがそれで、この質問をタグ付けしているので、あなたが行うと仮定)セキレイを使用している場合は、デフォルトホーム/にそれを置くことができます

STATICFILES_STORAGE = 'path/to/custom_storages.StaticStorage' 

を設定STATICFILES_STORAGEを設定する必要があります

# custom_storages.py 
from django.conf import settings 
from storages.backends.s3boto import S3BotoStorage 

class StaticStorage(S3BotoStorage): 
    location = settings.STATICFILES_LOCATION 
:custom_storages.pyの内容は次のされているガイドに記載されている

「ホーム/ custom_storages.StaticStorage」:ディレクトリが及びそうのようにそれを参照してください。 0

編集: 私はこのコードを使用しているGitHubレポ(wagtailプロジェクト)を持っていますが、私のメディアファイルだけです。あなたはそれを確認することができますhere

+0

ありがとう!これは助けになりました。 – emTr0

3

あなたのPythonパスのどこにでもcustom_storages.pyを置くことができます。 Djangoは、STATICFILES_STORAGE設定の値を使用してクラスを検索しようとします。この例では、 'custom_storages.StaticStorage'です。したがって、Djangoは実際には "custom_storagesをインポート"し、 "custom_storages.StaticStorage"をストレージクラスとして使用します。単に "custom_storagesをインポート"できることを確認してください。

+0

ありがとうございますが、もう少し詳細/具体的にすることができます。私が行くように私は学んでいます。 – emTr0

+0

お気に入りのPythonリファレンスでPythonがインポートされたファイルを見つける方法を調べてください。うまくいけば分かります。 –

+0

私は更新を確認して投稿します。ありがとう。 – emTr0

関連する問題