我正在尝试使用Django创建一个站点,但是,我无法显示图像。
我的模特是:
class Place(models.Model):
Pic=models.ImageField(upload_to="media",blank=True,null=True)
StoreName=models.CharField(max_length=200)
Address=models.CharField(max_length=200)
OpenDate=models.DateField('date opened')
SubmitDate=models.DateTimeField('date submitted')
def __unicode__(self):
return self.StoreName
,视图是:
def PlaceView(request,thisPlace):
PlaceObject=Place.objects.get(StoreName=thisPlace)
return render_to_response('Pages/place.html',{'PlaceObj':PlaceObject})
然后在“place.html”
<img src="{{PlaceObj.Pic.url}}" alt="test" width="50px" height="50px"
但是图片永远不会被曝光。在控制台中我收到404错误:
[02/Aug/2012 14:49:50] "GET /Media/media/24228302_1.jpg HTTP/1.1" 404 2220
我已将MEDIA_ROOT设置为系统中的文件夹(/ home / Project_root / Media /),MEDIA_URL ='http://127.0.0.1:8000 / Media /'
我有什么不对的吗?
答案 0 :(得分:2)
您必须在urls.py
(或网址模式所在的位置)设置网址格式,以便投放媒体图片。像这样:
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
确保在您的urls.py文件中包含from django.conf import settings
。