2012-08-02 85 views
0

我想用Django创建一个站点,但是,我无法获取要显示的图像。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" 

但画面永远diplayed。在控制台我得到一个404错误:

[02/Aug/2012 14:49:50] "GET /Media/media/24228302_1.jpg HTTP/1.1" 404 2220 

我已在MEDIA_ROOT设置为一个文件夹(/家/ Project_root /媒体/)在我的系统和MEDIA_URL =的“http://127.0.0.1:8000/Media /'

有没有我不擅长的事情?

回答

2

您必须在urls.py(或您的网址格式所在的任何位置)为服务媒体图片设置网址格式。像这样:

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 
     'document_root': settings.MEDIA_ROOT, 
    }), 

确保在您的urls.py文件中包含from django.conf import settings