与えられた:
MEDIA_URL = '/media/'
そして、次のテンプレートコード:
<img src="{{MEDIA_URL}}/{{pic}}" alt="Profile Picture" width="200"/>
画像src
はおそらくではありませんでし/upload/Desert.jpg
た。パスは。で始まる必要があります/media/
。多くMEDIA_URL
の場合、未定義であり、の値はpic
ですupload/Desert.jpg
。その場合は、メディアテンプレートコンテキストプロセッサが不足している可能性があります。次のように変更TEMPLATE_CONTEXT_PROCESSORS
します。
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.media',
)
これMEDIA_URL
により、テンプレートコンテキストで使用できるようになります。次に、その後のスラッシュも削除する必要があります。そうしないと、2つ(MEDIA_URL
スラッシュで終了)になります。つまり、次のようになります。
それ以外の:
{{ MEDIA_URL }}/{{ pic }}
使用する:
{{ MEDIA_URL }}{{ pic }}
アップデート
それでもの値が得られない場合MEDIA_URL
は、おそらくを使用していませんRequestContext
。RequestContext
テンプレートコンテキストプロセッサが処理を実行するには、ビューのコンテキストをラップする必要があります。
を使用している場合はrender_to_response
、次のようにします。
return render_to_response('template.html', { ... context here ... }, context_instance=RequestContext(request))
Django 1.3以降を使用している場合は、次のrender
方法を使用できます。これにより、次のように自動的に実行されます。
return render('template.html', { ... context here ... })