[Answered ]-Implementation of the post filter page in django

1👍

✅

You are missing to "overwrite" the posts variable.

def Index_view(request , slug=None):
    posts = Post.objects.all()
    kind = request.GET.get('type')
    order = request.GET.get('order')
    author = request.GET.get('author')
    search = request.GET.get('search')

    if slug:
        cat = get_object_or_404(Category , slug=slug)
        posts = posts.filter(category = cat)

    if search != '' and search is not None:
        posts = posts.filter(Q(title__icontains = search))

    if kind != '' and kind is not None:
        if kind == 'podcast':
            posts = posts.filter(is_podcast=True)
        #if kind == 'all':  --> useless
        #    pass
        if kind == 'post':
            posts = posts.filter(is_podcast=False)  

    con = {'posts' : posts}
    return render(request , 'Weblog/posts.html' , con)

Leave a comment