我已经阅读了有关如何执行此操作的各种答案,但仍然无法使其正常工作。
settings.py
MEDIA_ROOT = 'c:/jaskaran/dropbox/edmhunters/hunt/media/'
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.media",
)
我的Django应用程序中有一个'media / img /'文件夹,还有一个'static'文件夹。
view.py
def top100(request):
top_100_list = DJ.objects.exclude(rank__isnull=True).order_by('rank')
context = {'top_100_list': top_100_list}
return render_to_response('hunt/top100.html', context_instance=RequestContext(request, context))
urls.py
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这就是我在Django模板<img src="{{ MEDIA_URL }}{{ dj.img }}">
图片网址不会将MEDIA_URL添加到图片链接。
此代码中缺少什么?
答案 0 :(得分:2)
抱歉,noob错误。我在错误的HTML文件中使用<img src="{{ MEDIA_URL }}{{ dj.img }}">
。
答案 1 :(得分:0)
您对render_to_response的调用就像问题一样。
return render_to_response('hunt/top100.html', context_instance=RequestContext(request, context))
应改为:
return render_to_response('hunt/top100.html', context, context_instance=RequestContext(request))
答案 2 :(得分:0)
通过将url附加到模型字段名称,即在模板中编写django方式,即
<img src="{{ dj.img.url }}">
与以下相比,还可以工作,甚至更清晰的代码:
<img src="{{ MEDIA_URL }}{{ dj.img }}">