繁体   English   中英

Django-如果object_list ==空则无法显示图像

[英]Django - image does not gets display if object_list == empty

我想显示图像,如果通过我的searchg函数找不到任何内容。 我设置了2个搜索功能。 一个用于elasticsearch,另一个用于本地搜索查询视图,无论如何,如果object_list为空,那么一个用于elasticsearch似乎不起作用或至少不显示“未找到”图像,可以吗?

elastic_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 %}

这样使用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 %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM