ダーク/ライト切り替え

【備忘録】2023年版Djangoのstatic保存先をAWS S3にする

投稿日 2023-02-20T13:53:44.036108+09:00

【備忘録】2023年版Djangoのstatic保存先をAWS S3にする

タグ一覧

目次

目次を読み込み中...

参考

Django公式

DRF公式

Django-Storage公式

AWS S3公式

基本的にはコチラのサイトを参考にさせて頂いてますが、2023年1月にAWSに仕様変更が入り、追加の手続きが必要になったので、個人的備忘録を兼ねて書き残しておきます。

AWS側の設定

基本的には上記サイトの手順のとおりですが、2023年現在、デフォルトの暗号化が必須となったようなので、変更点を重点的に書き残します。

まず、保存先にするバケットを開いてプロパティタブを開く

プロパティ

最大の(唯一の?)変更点はココです。これまでは暗号化無しを選べたのですが、もはや暗号無しの選択肢が存在しません。仕方ないので下記の画像のとおりに設定します。今後は暗号化ありで、URLにクエリを付けないといけないようです。

プロパティ

ついでにstaticディレクトリを作っておきます。

staticディレクトリ

続いてDjango側の設定ファイルを記述します。

Djangoアプリ側の設定

今回はブログ用の簡易版なのでsettings.pyの中にキーも記述してますが、実際には.envなどにkeyやidは切り分けるべきでしょう。

  • AWS_LOCATIONを指定しないとバケットのルートに保存されます。
  • AWS_QUERYSTRING_AUTHは現状True一択になると思います。URLの末尾にクエリが不可されます。

検証してみた結果

モザイクばかりの画像で申し訳ありません。PostmanでDjango-RestのListApiViewを叩いてみた結果、

result

画像URLの後に超長いクエリパラメータが付加されているようです。


準備中

このサイトをシェアする

【備忘録】2023年版Djangoのstatic保存先をAWS S3にする