I'm building a gallery using Django(1.5.1) on my local machine. In my Album model I have a ImageField
. There is a view to show all images of an album. It works well, but at the end images don't show up. There's border of images as you can see but images don't load.
screenshot
models.py
class Category(models.Model):
###
class Album(models.Model):
category = models.ForeignKey(Category, related_name='albums')
###
class Image(models.Model):
album = models.ForeignKey(Album)
image = models.ImageField(upload_to = 'images/albums/')
views.py
def detail(request, album_id):
album = get_object_or_404(Album, pk=album_id)
return render(request, 'gallery/detail.html', {'album': album})
detail.html
<h1>{{ album.title }}</h1>
{% for image in album.image_set.all %}
<a> <img src="{{ image.image.url }}" height="420"></a>
{% endfor %}
If this is my album address: http://localhost:8000/gallery/1/
Then image URL is:http://localhost:8000/media/images/albums/photo_4.JPG (I get 404 when enter it in browser)
This media root and url:
MEDIA_ROOT = '/media/'
MEDIA_URL = '/localhost:8000/media/'
My media root has 777 permission.
What should I do now? Where is the problem?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…