0

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

有什么我做的不对吗?

4

1 回答 1

2

您必须在urls.py(或您的 URL 模式所在的任何位置)设置 URL 模式以提供媒体图像。像这样:

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

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

于 2012-08-02T12:07:05.143 回答