Webアプリケーションを作っていると画像を使用したい時が必ず来ます。
しかし、Djangoで作ったWebアプリケーションで画像を使用するにはいくつかの設定を追加してやらないといけません。
そんなに難しくないのですがピンポイントで情報を表示しているところがなかったので記事を書こうと思います。
settings.pyに設定を追加
settings.py
MEDIA_URL = '/document/'
MEDIA_ROOT = (
os.path.join(BASE_DIR, 'document')
)
settings.pyに上記のようにMEDIA_ROOT
を追加してやりましょう。
コードを記述する場所はBASE_DIR
を記述したところより下ならどこでも構いません、分かり易ところに記述してやりましょう。
urls.pyにも設定を追加
urls.py
from django.contrib import admin
# 下2行を追加
from django.conf import settings
from django.views.static import serve
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 下1行を追加
url(r'^document/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
]
次にadmin
のURLを設定している方のurls.py
に上記のように追加してやりましょう。
以上の設定で画像が表示されるようになったと思います。
まとめ
Railsなどと違いDjangoは設定が必要なのでそこが少し不便ですね。