Задать вопрос
@Heavy10110

Прошу помочь разобраться с категориями?

Итак, у меня есть models.
class Category(models.Model):
name = models.CharField(max_length=20)
slug = models.SlugField(max_length=200, unique=True )

def __unicode__(self):
    return self.name

class Post(models.Model):
title = models.CharField(max_length = 100) 
content = models.TextField(max_length = 600, default = 'cool' )
date_of_creating =   models.DateTimeField(auto_now=False, auto_now_add=True)
image = models.ImageField(
    upload_to=upload_location,
    null=True, 
    blank=True, 
    height_field="height_field", 
    width_field="width_field"
    )
height_field = models.IntegerField(default=0)
width_field = models.IntegerField(default=0) 
category = models.ForeignKey('Category')
slug = models.SlugField(unique=True, blank=False)


def __unicode__(self):
    return self.title


VIEWS
def category(reguest, slug):
    category = Category.objects.get(slug=slug)
    post = Post.objects.filter(category=category)
    html = 'category.html'
    context = {
    'category': category,
    'post': post,
    }
    return render(reguest, html, context)

def listofposts(request):
    query_set_list = Post.objects.all()
    context = {
    "list" : query_set_list,
    }
    html = 'base.html'
    return render(request, html, context)

Что мне писать в шаблоны, чтобы нажав на категорию, мне вывелись посты только с данной категорией (фильтр)
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
views.py
def category(request, slug):
    context = {
        'posts': Post.objects.filter(category__slug=slug)
    }
    return render(request, 'category.html', context)


И в шаблоне
{% for post in posts %}
{{ post }}
{% endfor %}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы