Django - изображение не отображается, если object_list == пусто - PullRequest
0 голосов
/ 21 января 2019

Я хочу отобразить изображение, если ничего не было найдено с помощью функции поиска.Я установил 2 функции поиска.один дляasticsearch и другой для представления локального поискового запроса, в любом случае один для эластичного не работает или, по крайней мере, не отображает «не найденное» изображение, если объектный список пуст, любая идея?

astic_search_function:

def globalsearch_elastic(request):
    qs = request.GET.get('qs')
    page = request.GET.get('page')
    if qs:
        qs = PostDocument.search().query("multi_match", query=qs, fields=["title", "content", "tag"])
        qs = qs.to_queryset()
    else:
        qs = ''
    paginator = Paginator(qs, 10)  # Show 10 results per page
    try:
        qs = paginator.page(page)
    except PageNotAnInteger:
        qs = paginator.page(1)
    except EmptyPage:
        qs = paginator.page(paginator.num_pages)
    return render(request, 'myproject/search/search_results_elastic.html', {'object_list':qs})

template.html

<body>
    <h1 class="center">Search results <a class="fa fa-search"></a></h1>
    <hr class="hr-style">
    {%  if object_list.count == 0 %}
        <div class="search_not_found">
            <img src={% static "/gfx/sys/not_found.png" %}>
            <h2>Nothing found here ...</h2>
        </div>
    {% else %}
    {% for post in object_list %}
        <div class="post">
            <h3><u><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></u></h3>
            <p>{{ post.content|safe|slice:":800"|linebreaksbr}}
                {% if post.content|length > 300 %}
                    <a href="{% url 'post_detail' pk=post.pk %}">... more</a>
                {% endif %}</p>
            <div class="date">
                <a>Published by: <a href="{% url 'profile' pk=user.pk %}" >{{ post.author }}</a></a><br>
                <a>Published at: {{ post.published_date }}</a><br>
                <a>Category: <a href="{% url 'post_list_by_category' pk=post.category.pk %}">{{ post.category }}</a></a><br>
                <a>Tag(s): {{ post.tag }}</a><br>
                <a>Comment(s): {{ post.comment_set.count }}</a>
            </div>
        </div>
    {% endfor %}
    {% endif %}

1 Ответ

0 голосов
/ 21 января 2019

Как насчет этого, используя empty :

{% for post in object_list %}

    <div class="post">
        <h3><u><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></u></h3>
        <p>{{ post.content|safe|slice:":800"|linebreaksbr}}
            {% if post.content|length > 300 %}
                <a href="{% url 'post_detail' pk=post.pk %}">... more</a>
            {% endif %}</p>
        <div class="date">
            <a>Published by: <a href="{% url 'profile' pk=user.pk %}" >{{ post.author }}</a></a><br>
            <a>Published at: {{ post.published_date }}</a><br>
            <a>Category: <a href="{% url 'post_list_by_category' pk=post.category.pk %}">{{ post.category }}</a></a><br>
            <a>Tag(s): {{ post.tag }}</a><br>
            <a>Comment(s): {{ post.comment_set.count }}</a>
        </div>
    </div>
{% empty %}
 <div class="search_not_found">
        <img src={% static "/gfx/sys/not_found.png" %}>
        <h2>Nothing found here ...</h2>
 </div>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...