有人能帮我解决这个问题吗:我有一个Django项目
在settings.py中
MEDIA_ROOT = 'C:/Users/hl/workspace/beer/media'
MEDIA_URL = '/media/'
STATICFILES_DIRS = (
'C:/Users/hl/workspace/beer/media'
)
和在型号中。py
image1= models.ImageField(upload_to=settings.MEDIA_ROOT)
和url.py中的
(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
在视图中
def allBeer(request):
beers=Beer.objects.all().order_by("name")
context={'beers': beers}
return render_to_response('AllBeers.html',context,context_instance=RequestContext(request))
和html格式的
{%for beer in beers %}
<p>
<a href="/beers/{{beer.slug}}/">
<img scr="{{beer.image1.url}}">{{beer}}
</a>
</p>
{% endfor%}
加载图像没有问题,但是图像不会显示在html文件中。我在网上搜了很多书,但还是不明白。
有人能告诉我为什么吗?
你在搞乱图像的
src
属性。应该是-不要在末尾添加任何内容-django know是提供图像的url-这就是模型上的ImageField所做的。
我不知道你的url配置实际上有什么问题,但是docs中推荐的模式是-
设置.py
图像的位置很重要。它必须在静态文件夹中,并且必须在设置中定义。
相关问题 更多 >
编程相关推荐