Djangoで画像を表示する方法をご紹介します。
目次
条件
- Django 2.1.7
- Python 3.7.0
settings.py
以下を追記します。
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/'
urls.py
以下を追記します。
from . import settings from django.contrib.staticfiles.urls import static from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += staticfiles_urlpatterns() urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
記述例
from django.contrib import admin from django.urls import path, include from . import settings from django.contrib.staticfiles.urls import static from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('django.contrib.auth.urls')), path('', include('search.urls')), ] urlpatterns += staticfiles_urlpatterns() urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
画像格納先ディレクトリ
プロジェクトの下に以下のようなディレクトリを作成します。
project └ media
作成したディレクトリの下に画像を配置します。
(ディレクトリは何層になってもOKです。)
実際の画像ファイルパス例
project └ media └ images └ image.jpg
テンプレート
任意のテンプレートで以下のようにタグを記述すれば対象画像が画面に表示されます。
<img src="/media/images/image.JPG" width="100%" height="100%" border="0" />