collectstaticを使ってGCSにファイルを置き、読み込む。


バケットを作成

バケットの名前: hogehoge
ロケーションタイプ: Region asia-northeast1 (東京)
データのデフォルトのストレージ クラス: Archive
アクセス制御: 均一
Google が管理する暗号鍵: Googleが管理する暗号鍵

こんな感じで安い仕様に。

次にIAMで権限を与える


JSONファイルを既に作成し、ダウンロードしているのならば、ダウンロードしたアカウントを選択。
ストレージ管理者を選択

もしJSONファイルがまだならサービスアカウントでアカウントを作成。
鍵を管理のページで鍵を追加。
鍵はJSONを選択。
ダウンロードしたjsonファイルはmanage.pyのある場所に移動。(決まりはない)

これをインストール

terminal
pip install --upgrade google-cloud-storage
pip install django-storages
settings.py
INSTALLED_APPS = [
    'storages'
]
from google.oauth2 import service_account
GS_CREDENTIALS = service_account.Credentials.from_service_account_file(
    'あなたの.json' #サービスアカウントで作成し、インストールしたjsonのpath。今回はmanage.pyと同じディレクトリ
)
DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
STATICFILES_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
GS_BUCKET_NAME = 'hogehoge'
GS_PROJECT_ID = 'プロジェクトid'#コンソールのgoogle cloud plaformの隣のプロジェクトネームより確認できる
STATIC_ROOT ='https://storage.googleapis.com/hogehoge/' #アップロードするパス(つまりGCS)
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), ) #これがないとstaticに現在入っているファイルが上がらない
STATIC_URL = '/static/'