2011-03-29 4 views
0

Cela devrait être assez simple, mais j'ai l'impression que l'un des chemins d'accès est en train de tout chambouler. Au fond, mes images affichent comme 404.Impossible de charger les images dans Django?

Voici les parties pertinentes à mon application 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/' 

Donc, toutes les images vont dans ce dossier 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)) 

modèle

<img src="{{ MEDIA_URL }}{{memeimage }}" />, {{ memeid }} 

L'URL réelle de l'image est à l'adresse http://127.0.0.1:8000/media/memeimages/flickrphotobrowser.png mais je reçois un 404.

P.S Je sais que je devrais utiliser Apache pour servir mes images statiques sur mon environnement de production. J'essaie juste de faire fonctionner ça.

Aide!

Répondre

2

Votre ADMIN_MEDIA_PREFIX est probablement aussi /media/. Changez l'un d'entre eux.

+0

Wow, je ne sais pas comment quelqu'un (en particulier un débutant) est censé le savoir. – super9

0

changer la MEDIA_URL

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

+0

Désolé, j'ai eu une faute de frappe. Mon MEDIA_URL est juste '/ media /' – super9

Questions connexes