2011-03-29 61 views
0

這應該是相當直接的,但我有一種感覺,其中一個路徑名是把整個事情搞砸了。基本上,我的圖片顯示爲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在我的生產環境中爲我的靜態圖像提供服務。我只是想讓這個工作。

幫助!

回答

2

ADMIN_MEDIA_PREFIX大概也是/media/。改變其中之一。

+0

哇我不知道任何人(特別是初學者)應該知道這一點。 – super9 2011-03-29 08:56:55

0

變化MEDIA_URL

MEDIA_URL = 'http://127.0.0.1:8000/media/'

+0

對不起,我有一個錯字。我的MEDIA_URL只是'/ media /' – super9 2011-03-29 08:41:26