前提・実現したいこと
djangoでwebアプリを作り、DEBUG=Trueのままherokuで公開ができています。外部ストレージとしてgoogle driveを使おうと思い、django_googledrive_storageをインストールしてwebアプリのアップロード画面からアップロードを実施。
エラー無く完了したが、google driveは空のままとなっている。
herokuのDBには画像の撮影日、ファイル名などが登録されています。
django_googledrive_storageインストール後に
pip freeze > requirements.txtも実施しています。
何か抜けているところがあるのでしょうか?
ご教示お願い致します。
参考サイト
https://qiita.com/waka424/items/4d70033ed1196dbd163a
該当のソースコード
サービスアカウント管理者でjsonファイルを作成し、
manage.pyと同じ階層に配置。
json
1{ 2 "type": "service_account", 3 "project_id": "▲▲▲▲▲▲▲▲", 4 "private_key_id": "xxxxxxxxxxxxxxxxxxxxx", 5 "private_key": "-----BEGIN PRIVATE KEY-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END PRIVATE KEY-----\n", 6 "client_email": "〼〼〼〼〼@▲▲▲▲▲▲▲▲.iam.gserviceaccount.com", 7 "client_id": "xxxxxxxxxxxxxxxxxxxx", 8 "auth_uri": "https://accounts.google.com/o/oauth2/auth", 9 "token_uri": "https://oauth2.googleapis.com/token", 10 "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", 11 "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/〼〼〼〼〼%40▲▲▲▲▲▲▲▲.iam.gserviceaccount.com" 12}
settings
1INSTALLED_APPS = [ 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes', 5 ・・・ 6 'PIL', 7 'gdstorage', # google drive用に追加 8] 9 10## 略 ## 11 12# google drive用に追加 13GOOGLE_DRIVE_STORAGE_SERVICE_EMAIL = "〼〼〼〼〼@▲▲▲▲▲▲▲▲.iam.gserviceaccount.com" #jsonファイルのclient_email 14GOOGLE_DRIVE_STORAGE_JSON_KEY_FILE = os.path.join(BASE_DIR, "▲▲▲▲▲▲▲▲.json") #サービスアカウントキーのjsonファイル
models
1from django.contrib.gis.db import models 2import os 3from gdstorage.storage import GoogleDriveStorage# google drive用に追加 4 5# google drive用に追加 6gd_storage = GoogleDriveStorage() 7 8def get_img_upload_path(instance, filename): 9 return os.path.join('image/',filename) 10 11class upl_imgs(models.Model): 12 name = models.CharField(max_length=25) 13 date = models.CharField(max_length=25) 14 image = models.ImageField('画像', upload_to=get_img_upload_path, storage=gd_storage)# google drive用に追加 15 category = models.CharField(max_length=40)
補足情報(FW/ツールのバージョンなど)
python 3.6.10
django 3.0.7
django-googledrive-storage 1.5.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。