ダーク/ライト切り替え

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

投稿日2023-02-20

Picture of the logo


目次

目次を読み込み中...

# 参考

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の後に超長いクエリパラメータが付加されているようです。






関連記事

Django4にdjango-dbbackupでAWS S3を保存先にしたらハマったので・・・

blog

djangoフレームワークでデータベースのバックアップにdjango-dbbackupを使う人は多いと思いますが、Djangoバージョン4などの比較的新しいバージョンにdjango-dbbackupやbotoをインストールした場合、そのままでは動かない可能性が高いので解決法を書き残しておきます。

Djangoフレームワークで国別アクセス制限を実装する方法

blog

サーバーを運用していると、特定の国からのアクセスを制限したいと思うことはありませんか?例えば、セキュリティの理由や、ビジネスの対象地域を限定したい場合などです。Djangoを使っている場合、簡単に特定の国からのアクセスを制限できる方法があります。この記事では、Djangoで国別アクセス制限を実装する方法を紹介します。

Django Rest FrameworkでTaggitによるフィルタリングを最速で実装する

blog

このブログサイトにも利用しています。Django Restに特化した解説が見つからなかったので備忘録も兼ねて書き残しておきます。

Django Restを使って管理しているブログにアクセスカウンタを秒で設置する【初心者】

blog

ブログのバックエンドにDjango Restを使い、ページビューのたびに1ずつ増えるカウンタを作る方法を備忘録も兼ねて書き残しておきます。

【python】Youtube動画を自分のパソコンにダウンロードして保存する方法

blog

YouTube動画をローカルPCにダウンロードするプログラムの自作方法を紹介します。

【python】2枚の画像の違いを検出する方法【初心者】

blog

個人的に2つの画像を比較して違いを見分けるアプリが欲しかったので作ってみました。同様のものは既に多数あるかと思いますが初心者でも簡単に作れるので紹介します。

【Python】英語から日本語への翻訳と音声出力【初心者】

blog

Pythonを利用した英語翻訳と日本語読み上げを簡単に実装する方法を紹介します。

【Python】最強のパスワードの作り方わかったw【超初心者向け】

blog

pythonの標準モジュールでUUIDというモジュールを使うと簡単に強度な乱数を生成できます。32桁の16進数とそれを4つの-(ハイフン)で区切られた合計36文字の文字列をランダムで生成します。これだけで2^128とおりのパターンがあるので一意の固有の識別番号と言っても過言ではないでしょう。今回はそれを2つ並べます。

【初心者】Pythonで大量の文字列の重複チェックをする方法【備忘録】

blog

Pythonで文字列の配列、リストから重複の有無をチェックする簡単な方法を紹介します

Firebase AuthentificationでEmailアカウントと匿名アカウントを実装する

blog

今回はFirebase Authentificationを使ってUnityに匿名認証、メール認証を実装する手順を紹介します。


スポンサーリンク

このサイトをシェアする