Help us understand the problem. What is going on with this article?

django-s3-storageを使う

More than 5 years have passed since last update.

python3対応のためdjango-storagesのalternativeを探していたらdjango-s3-storageを見つけた。S3の認証周りでやや困ったのでメモ。

INSTALLED_APPSにdjango_s3_storageを追加する。

INSTALLED_APPS += (
    'django_s3_storage',
)

AWS周りの設定。

# AWSリージョンの指定。us-east-1以外で動くかは試してない。
AWS_REGION = "us-east-1"

# AWS IAM ACCESS KEY
AWS_ACCESS_KEY_ID = ""

# AWS IAM SECRET ACCESS KEY
AWS_SECRET_ACCESS_KEY = ""

# ユーザアップロード用のS3バケット名(mediaに相当するもの)
AWS_S3_BUCKET_NAME = ""

# 静的ファイル用のS3バケット名
AWS_S3_BUCKET_NAME_STATIC = ""

settings.pyのDEFAULT_FILE_STORAGEを定義する。認証が必要な場合、そうでない場合でストレージクラスを使い分ける。

# 認証有りのS3ストレージクラス
DEFAULT_FILE_STORAGE = 'django_s3_storage.storage.S3Storage'

# 認証なしのS3ストレージクラス。本来はSTATICFILE_STORAGE用っぽい?
# DEFAULT_FILE_STORAGE = 'django_s3_storage.storage.StaticS3Storage'

django-storagesと違うところ。

  • Python3 compatible!!!!!!!!!!
  • メディア用バケット、静的ファイル用バケットが分けられる
  • S3に対する認証つきアクセスが可能
key
Python + Djangoでウェブ・アプリケーション開発、SwiftでiOSアプリ開発をやってます。
http://blog.mitsukuni.org
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away