で複数のS3バケットにポインティング私が持っている:これは私のS3バケットstatic.mysite.com
を指していると正常に動作します私はmanage.py collectstatic
を行うとき、それは私のバケットにすべての静的ファイルをアップロードしている<code>settings.py</code>でs3boto
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'xxxxxxxxxxxxx'
AWS_SECRET_ACCESS_KEY = 'xxxxxxxxxxxxx'
AWS_STORAGE_BUCKET_NAME = 'static.mysite.com'
。今Image.save()
が呼び出されると、それはまだ意志
class Image(models.Model):
myobject = models.ImageField(upload_to='my/folder')
:しかし、私は別の目的に使用して、私はこのようなモデルを持っている場合、たとえば、ウェブサイトの特定の領域で使用したい別のバケツを持っていますファイルをAWS_STORAGE_BUCKET_NAME
のS3バケットにアップロードしてください。ただし、Image.save()
を別のS3バケットを参照してください。任意クリーンこれを行う方法?実行時にsettings.py
を変更したり、Djangoの重要な原則に違反するプラクティスを実装したりすることはできません。すなわち、プラガブルな変更が容易なバックエンドストレージを持つことです。
ニース!このクラスを入れる場所はどこですか? – abstractpaper
あなたのプロジェクトのどこかに。私は通常、私がすべてのプロジェクト固有のものを保持する別のアプリを持っています。 –
コアアプリです、ありがとうございます。 – abstractpaper