似乎无法在Django中加载图像?
问题描述:
这应该是相当直接的,但我有一种感觉,其中一个路径名是把整个事情搞砸了。基本上,我的图片显示为404似乎无法在Django中加载图像?
以下是相关部分我Django应用程序:
models.py
class MemeDetails(models.Model):
datecreated = models.DateTimeField(default=datetime.datetime.now)
profileimage = models.ImageField(upload_to="memeimages", blank=True)
name = models.CharField(max_length=50)
description = models.CharField(max_length=1000)
origin = models.CharField(max_length=50)
origindate = models.DateField()
settings.py
MEDIA_ROOT = '/home/nai/Projects/meme/media/'
MEDIA_URL = '/media/'
所以所有的图像进入这个文件夹home/nai/Projects/meme/media/memeimages
urls.py
urlpatterns = patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT}),
)
views.py
def memepage(request, memeid):
q = MemeDetails.objects.get(id=memeid)
memeimage = q.profileimage
return render_to_response('memepage.html', {'memeid': memeid, 'memeimage': memeimage},context_instance=RequestContext(request))
模板
<img src="{{ MEDIA_URL }}{{memeimage }}" />, {{ memeid }}
图像的实际URL在这个URL http://127.0.0.1:8000/media/memeimages/flickrphotobrowser.png
但我得到了404分。
P.S我知道我应该使用Apache在我的生产环境中为我的静态图像提供服务。我只是想让这个工作。
帮助!
答
你ADMIN_MEDIA_PREFIX
大概也是/media/
。改变其中之一。
答
变化MEDIA_URL
MEDIA_URL = 'http://127.0.0.1:8000/media/'
+0
对不起,我有一个错字。我的MEDIA_URL只是'/ media /' – super9 2011-03-29 08:41:26
哇我不知道任何人(特别是初学者)应该知道这一点。 – super9 2011-03-29 08:56:55