5

私は、AWSS3をHerokuでFileFieldおよびImageFieldのアップロードに使用できるようにする方法を研究してきました。しかし、私はそれを機能させることに失敗してきました。

計画は

  1. FileFieldを使用していくつかのファイルをアップロードします。
  2. プロフィール写真にはImageFieldを使用します。
  3. Sorl Thumbnailsを使用して、これらの画像のサイズを変更します。

私はこの記事に従いましたが、うまくいかないようです。足りないものはありますか?できるだけ苦痛のないファイルのアップロードが必要です。AWSよりもdjangoとherokuに優しいより良い代替手段はありますか?この点での助けをいただければ幸いです。

4

1 に答える 1

9

S3で静的ファイルを管理するには、DjangoStorageを使用します。次に、デプロイするときにHeroku静的アセットガイドに従います。

まず、AWSコンソールまたはお気に入りのツールを使用して、S3でバケットを作成します。次に、settings.pyを変更し、次の値を追加します。

import os

AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = '<YOUR BUCKET NAME>'

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

AWSアクセスキーとシークレットキーを保存するために環境変数を使用していることに注意してください。このトピックについて説明しているときに、デプロイするDjangoアプリケーションをオープンソース化することを計画している場合は、SECRET_KEYを環境変数に格納することも検討してください。

上記はここからです

于 2012-10-07T08:15:18.853 に答える