mediaフォルダとは
ユーザーがアップロードした画像ファイルを保存しておくフォルダ
settings.py
にmedia
ルートの設定
- MEDIA_URL : ブラウザからアクセスする際のアドレス
- MEDIA_ROOT : 画像ファイルを読み込みに行く先のフォルダ
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
アプリケーション直下のurls.pyに追記
urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
template側でメディアファイルを扱えるように設定する
settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
・・・
'django.template.context_processors.media'
],
},
},
]
テンプレートファイルから画像のパスを取得
<img src="{{object.image.url}}" alt="not">
object.image
のみでは正しいURLをしゅとくできないのでちゅうい
参考記事
https://qiita.com/j54854/items/1f0560142e39d888251c
https://itc.tokyo/django/setup-media-root/