Django不显示图像

时间:2012-08-02 12:01:36

标签: django image web-applications

我正在尝试使用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 /'

我有什么不对的吗?

1 个答案:

答案 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