2

私は Amazon AWS S3 を使用しており、Django アプリをセットアップして Heroku にデプロイし、django-storagesパッケージを使用して静的ファイルとメディア ファイルを設定しようとしています (これも を使用しますboto)。

私のsettings.pyには以下が含まれています:

DEBUG = False
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
   'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

if not DEBUG:
    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    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
    ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

INSTALLED_APPS += (
    'storages',
)

django-storages ただし、デフォルトのストレージが設定されているかどうかを確認するためにコンソールにログインすると、入門ガイドに従って必要なものが得られません。

これが私のシェルセッションのサンプルです:

>>> from django.core.files.storage import default_storage
>>> print default_storage.__class__
<class 'django.core.files.storage.DefaultStorage'>

ガイドによると、私はこれを取り戻すべきだった:

>>> from django.core.files.storage import default_storage
>>> print default_storage.__class__
<class 'S3Storage.S3Storage'>

settings.py を対話型シェルにインポートしようとしました。運がない。ただし、env 変数を取得して amazon URL に挿入する S3_URL など、他の AWS 設定は正常に保存されています。

誰でも私に手がかりを与えることができますか?

ティア。

4

1 に答える 1

0

botoをインストールしましたか?boto が適切にインストールされていない場合、boto を適切にインポートできなかった場合、django-storages によってデフォルトのストレージ クラスに戻される可能性があります。

于 2013-07-19T14:43:25.650 に答える