browse category filter
This commit is contained in:
parent
8ef158c034
commit
06e3172234
|
@ -16,9 +16,15 @@
|
||||||
{% block main %}
|
{% block main %}
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-5">
|
<div class="row mb-5">
|
||||||
<div class="col col-xxl mb-5">
|
<div class="col col-xxl mb-5" id="headline">
|
||||||
{# TODO: center in mobile view #}
|
|
||||||
<h1 class="display-1">Browse</h1>
|
<h1 class="display-1">Browse</h1>
|
||||||
|
{# center headline on small screens #}
|
||||||
|
<script>
|
||||||
|
if (screen.width < 480) {
|
||||||
|
col = document.getElementById("headline")
|
||||||
|
col.classList.add("text-center")
|
||||||
|
};
|
||||||
|
</script>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="container-fluid w-100 h-100 p-2">
|
<div class="container-fluid w-100 h-100 p-2">
|
||||||
|
|
|
@ -8,6 +8,7 @@ from start.views import SearchableView
|
||||||
import logging
|
import logging
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Index(TemplateView, SearchableView):
|
class Index(TemplateView, SearchableView):
|
||||||
"""
|
"""
|
||||||
The index page of the gawa/blog app.
|
The index page of the gawa/blog app.
|
||||||
|
@ -20,15 +21,17 @@ class Index(TemplateView, SearchableView):
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context['featured_posts'] = BlogPost.objects.filter(featured=True, public=True)
|
context['featured_posts'] = BlogPost.objects.filter(
|
||||||
|
featured=True, public=True)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
class Post(DetailView):
|
class Post(DetailView):
|
||||||
"""
|
"""
|
||||||
Main page of a blog post
|
Main page of a blog post
|
||||||
"""
|
"""
|
||||||
|
|
||||||
model=BlogPost
|
model = BlogPost
|
||||||
template_name = "blog/blogpost.html"
|
template_name = "blog/blogpost.html"
|
||||||
context_object_name = "post"
|
context_object_name = "post"
|
||||||
|
|
||||||
|
@ -37,6 +40,7 @@ class Post(DetailView):
|
||||||
context['featured_posts'] = BlogPost.objects.filter(featured=True)
|
context['featured_posts'] = BlogPost.objects.filter(featured=True)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
class Browse(ListView):
|
class Browse(ListView):
|
||||||
"""
|
"""
|
||||||
Scroll through a list of blog posts
|
Scroll through a list of blog posts
|
||||||
|
@ -45,10 +49,19 @@ class Browse(ListView):
|
||||||
Of course, Articles will also show up in the MainSearchView
|
Of course, Articles will also show up in the MainSearchView
|
||||||
"""
|
"""
|
||||||
|
|
||||||
model=BlogPost
|
model = BlogPost
|
||||||
template_name = "blog/browse.html"
|
template_name = "blog/browse.html"
|
||||||
context_object_name = "posts"
|
context_object_name = "posts"
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
objects = BlogPost.objects.all()
|
||||||
|
if "category" in self.request.GET and len(
|
||||||
|
self.request.GET["category"].strip()) > 0:
|
||||||
|
category = self.request.GET["category"]
|
||||||
|
category = Category.objects.get(slug=category)
|
||||||
|
objects = objects.filter(category=category)
|
||||||
|
return objects
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context['featured_posts'] = BlogPost.objects.filter(featured=True)
|
context['featured_posts'] = BlogPost.objects.filter(featured=True)
|
||||||
|
|
Loading…
Reference in New Issue