2014-01-27 2 views
0

Я хочу отобразить все мои фотографии, которые находятся в назначенной категории. В цикле for он ничего не показывает, но если я не использую цикл, он отображает только одно изображение.все фотографии из категории django

views.py

def lists(request, category_id): 
    image = get_object_or_404(Image, pk=category_id) 
    context = {'image': image} 
    return render(request, 'photo/lists.html', context) 

lists.html

{% for image in images %} 
     <a href="#"><img src="{{ image.image.url }}" style="width:200px; height: 200px; float:left;"/></a> 
    {% endfor %}  

models.py

class Image(models.Model): 
    title  = models.CharField(max_length=255) 
    slug   = models.SlugField(unique=True, max_length=255) 
    category  = models.ForeignKey('Category') 
    description = models.CharField(max_length=255) 
    published = models.BooleanField(default=False) 
    created  = models.DateTimeField(auto_now_add=True) 
    image  = models.ImageField(upload_to="images") 

    def __unicode__(self): 
     return u'%s' % self.title 


class Category(models.Model): 
    title  = models.CharField(max_length=255) 
    slug   = models.SlugField(unique=True, max_length=255) 

    def __unicode__(self): 
     return u'%s' % self.title 

ответ

3

Проблема с вашими взглядами. Использование get_object_or_404 вернет только один объект. Используйте вместо filter:

def lists(request, category_id): 
    images = Image.objects.filter(category__id=category_id) 
    context = {'images': images} 
    return render(request, 'photo/lists.html', context) 
+0

nice, tnx ....... – Eriks

Смежные вопросы