Add tag based filtering

This commit is contained in:
2022-07-15 21:31:40 +02:00
parent 70c12c69b2
commit 66a85b4ed7
5 changed files with 13 additions and 6 deletions

View File

@@ -6,6 +6,11 @@
display: inline-block; display: inline-block;
} }
a.badge, a.badge:hover {
text-decoration: none;
color: #fff;
}
.tab-pane { .tab-pane {
min-height: 300px; min-height: 300px;
} }

View File

@@ -85,8 +85,8 @@
<p class="card-text"><strong>{{ r }}</strong></p> <p class="card-text"><strong>{{ r }}</strong></p>
{% if r.tags.all %} {% if r.tags.all %}
<p class="card-text"><small>Tags:</small> <p class="card-text"><small>Tags:</small>
{% for t in r.tags.all %}<span class="badge bg-primary"> {% for t in r.tags.all %}<a href="{% url 'filtered' _filter="tag" search=t.slug %}" class="badge rounded-pill bg-primary">
{{ t.name }}</span>{# new line is required #} {{ t.name }}</a>{# new line is required #}
{% endfor %} {% endfor %}
</p> </p>
{% endif %} {% endif %}

View File

@@ -13,8 +13,8 @@
<p class="card-text"><strong>{{ c }}</strong></p> <p class="card-text"><strong>{{ c }}</strong></p>
{% if c.tags.all %} {% if c.tags.all %}
<p class="card-text"><small>Tags:</small> <p class="card-text"><small>Tags:</small>
{% for t in c.tags.all %}<span class="badge bg-primary"> {% for t in c.tags.all %}<a href="{% url 'filtered' _filter="tag" search=t.slug %}" class="badge rounded-pill bg-primary">
{{ t.name }}</span>{# new line is required #} {{ t.name }}</a>{# new line is required #}
{% endfor %} {% endfor %}
</p> </p>
{% endif %} {% endif %}

View File

@@ -5,8 +5,8 @@
<h1 class="fw-light">{{ rolling_stock }}</h1> <h1 class="fw-light">{{ rolling_stock }}</h1>
{% if rolling_stock.tags.all %} {% if rolling_stock.tags.all %}
<p><small>Tags:</small> <p><small>Tags:</small>
{% for t in rolling_stock.tags.all %}<span class="badge bg-primary"> {% for t in rolling_stock.tags.all %}<a href="{% url 'filtered' _filter="tag" search=t.slug %}" class="badge rounded-pill bg-primary">
{{ t.name }}</span>{# new line is required #} {{ t.name }}</a>{# new line is required #}
{% endfor %} {% endfor %}
</p> </p>
{% endif %} {% endif %}

View File

@@ -73,6 +73,8 @@ class GetHomeFiltered(View):
) )
elif _filter == "scale": elif _filter == "scale":
query = Q(scale__scale__icontains=search) query = Q(scale__scale__icontains=search)
elif _filter == "tag":
query = Q(tags__slug__icontains=search)
else: else:
raise Http404 raise Http404
rolling_stock = ( rolling_stock = (