与えられた:
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 ... })