Browse Source

tried search queries - fial

newsletter
Esther Kleinhenz 6 years ago
parent
commit
3d9e40f840

+ 6
- 3
application/templates/blog_search_list_view.html View File

@@ -1,9 +1,12 @@
{% extends "base.html" %} {% block content %}

<div id="tag-cloud">
{% load taggit_templatetags2_tags %}
{% get_taglist as tags for 'application.post' %}
<div id="">
<ul>
{% for tag in tags %}
<li>{{tag}} ({{tag.num_times}})</li>
<li>{{tag}} ({{tag.num_times}})
</li>
{{ result }}
{% endfor %}
</ul>
</div>

+ 9
- 4
application/templates/post_detail.html View File

@@ -6,8 +6,7 @@
</div>
{% else %}
<a class="btn btn-outline-dark" href="{% url 'post_publish' pk=post.pk %}">Publish</a>
{% endif %}
{% if user.is_staff and user == post.author %}
{% endif %} {% if user.is_staff and user == post.author %}
<a class="btn btn-outline-dark" href="{% url 'post_edit' pk=post.pk %}">
<span class="glyphicon glyphicon-pencil">Edit</span>
</a>
@@ -17,7 +16,13 @@
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
<p>{{ post.tag }}</p>

<p>
{% for tag in post.tags.all %}
<a href="{% url 'blog_search_list_view' %}">{{ tag.name }}, </a>
{% endfor %}
</p>
<p>
Autor: {{ post.author }}
</p>
</div>
{% endblock %}

+ 0
- 9
application/templates/post_list.html View File

@@ -18,14 +18,5 @@

</div>
{% endfor %}
{% include "taggit_templatetags2/tagcanvas_include_js_static.html" %}

<div id="tag-cloud">
<ul>
{% for tag in tags %}
<li>{{tag}} ({{tag.num_times}})</li>
{% endfor %}
</ul>
</div>
</div>
{% endblock %}

+ 12
- 14
application/views.py View File

@@ -110,17 +110,15 @@ def post_remove(request, pk):

@login_required
def student_page(request):
return render(request, 'student_page.html', {})

def blog_search_list_view(post_list, self):
result = super(post_list, self).get_queryset()
query = self.request.GET.get('q')
if query:
query_list = query.split()
result = result.filter(
reduce(operator.and_,
(Q(title__icontains=q) for q in query_list)) |
reduce(operator.and_,
(Q(content__icontains=q) for q in query_list))
)
return result
q = request.GET.get('q')
query = Q()
for word in q or []:
query = query | Q(tags__name__icontains=word)
result = Post.objects.filter(query)
return render(request, 'blog_search_list_view.html', {'result':result})


def blog_search_list_view(request):

return render(request, 'blog_search_list_view.html', {})

Loading…
Cancel
Save