###前提・実現したいこと
プログラミングを1年ほど前から学んでいる初心者です。
見様見真似でここまで来ているので、基本がわかっていなかったりします。
その点を考慮して教えて頂ければありがたいです。
宜しくお願い致します。
Python3.4、Django(1.9.10)を使ってwebサービスを作っています。
開発環境ではある程度納得いくものが出来たため、Herokuとs3を使用した本番環境によるテストをしようとs3の設定をしたところ画像が表示されない現象に突き当たりました。
Djangoは海外の有料動画サイトを参考に学び、s3の設定方法もそのサイト内容をそのまま参考しました。
Github-S3 Static & Media Files for Django
###該当のソースコード
開発環境のsettings.pyにおけるSTATIC、MEDIA関連設定では問題なく動いております。
STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles') STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] MEDIA_URL = '/static/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'static','media')
これを上記URLに従ってAWSのs3に適応するよう設定したところ
ACCESS_KEY_ID = "*****" AWS_SECRET_ACCESS_KEY = "*****" AWS_FILE_EXPIRE = 200 AWS_PRELOAD_METADATA = True AWS_QUERYSTRING_AUTH = True DEFAULT_FILE_STORAGE = '*****.utils.MediaRootS3BotoStorage' STATICFILES_STORAGE = '*****.utils.StaticRootS3BotoStorage' AWS_STORAGE_BUCKET_NAME = '*****' S3DIRECT_REGION = 'us-east-1' S3_URL = '//%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME MEDIA_URL = '//%s.s3.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME MEDIA_ROOT = MEDIA_URL STATIC_URL = S3_URL + 'static/' ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/' import datetime two_months = datetime.timedelta(days=61) date_two_months_later = datetime.date.today() + two_months expires = date_two_months_later.strftime("%A, %d %B %Y 20:00:00 GMT") AWS_HEADERS = { 'Expires': expires, 'Cache-Control': 'max-age=%d' % (int(two_months.total_seconds()), ), }
画像が表示されませんでした。
CSSは問題なく適応されています。
正しく表示されない画像のsrcを調べると
<img src="https://*****.s3.amazonaws.com:443/post/postNone/thumbnail/image.jpg?Signature=eEKbvA1...以降英数字
と表示されています。
どのように設定をすれば画像が表示されるかを教えて頂けないでしょうか。
もし回答の為の情報が足りない場合はご指摘下さい。
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/19 06:47
2016/10/19 07:05
2016/10/19 07:33
2016/10/19 07:44