前提・実現したいこと
djangoの開発用サーバー(manage.py runserver)上で画像を表示したい。
発生している問題・エラーメッセージ
画像の登録や更新はでき、そこに画像があることはわかっているのですが、画像が表示されません。
ブラウザ上で画像アドレスをコピーすると、
「http://127.0.0.1:8000/media/thumbnail/sample.jpg」と出てきます。
画像を登録すると、以下の場所(thumbnail内)に画像は保存されます。
├─myapp
│ ├─urls.py
│ ├─models.py
│ ├─views.py
│ └─templates
│ └─myapp
│ └─sample.html
├─myproject
│ ├─settings.py
│ └─urls.py
├─media
│ └─thumbnail
│ └─sample.jpg
└─manage.py
chromeのデベロッパツールのコンソールには以下のように出ています。
Failed to load resource: the server responded with a status of 404 (Not Found)
該当のソースコード
settings.py
python
1 2BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 3 4MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 5MEDIA_URL = "/media/"
models.py
python
1from django.db import models 2import os 3 4class Store(models.Model): 5 6 name = models.CharField(verbose_name='名前', max_length=255) 7 thumbnail = models.ImageField( 8 verbose_name='サムネイル', upload_to = 'thumbnail/', blank=True) 9 10 def __str__(self): 11 return self.name 12 13 def get_filename(self): 14 return os.path.basename(self.thumbnail.name) 15
templates/sample.html
html
1<img src="{{ store.thumbnail.url }}" alt="サンプル">
以上となります。
お分かりになる方、アドバイスいただけましたら幸いです。
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。