【问题标题】:Django does not display imagesDjango 不显示图像
【发布时间】:2012-07-31 09:30:16
【问题描述】:

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

是不是我做得不对?

【问题讨论】:

    标签: django image web-applications


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多