Haystack+Django CMS搜索错误“没有初始值的空序列的reduce()”

2024-05-08 12:46:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Django的世界还比较陌生。我们的客户想在他们的网站上添加一个搜索功能,所以我正在集成Haystack和Aldryn search,如下所述:

https://github.com/aldryn/aldryn-search

我也经历过这里:https://django-haystack.readthedocs.io/en/v2.6.0/tutorial.html

Exception Location: env/lib/python2.7/site-packages/haystack/backends/simple_backend.py in search, line 79

以下是一些有用的信息片段:

你知道吗网址.py-你知道吗

(r'^search/', include('haystack.urls')),

模板/搜索/搜索.html-你知道吗

{% extends 'base.html' %}

{% block content %}
<div class="primary-content">
<div class="container constrained">
    <form method="get" class="paragraph" action=".">
        {{ form.as_table }}
        <div class="text-right">
            <button type="submit" class="button">
                Search
            </button>
        </div>

        {% if query %}
            <h3>Results</h3>

            {% for result in page.object_list %}
                <div class="post-preview paragraph">
                    <h3>
                        <a href="{{ result.object.get_absolute_url }}">{{ result.object.title }}</a>
                    </h3>
                </div>
            {% empty %}
                <p>No results found.</p>
            {% endfor %}

            {% if page.has_previous or page.has_next %}
                <div>
                    {% if page.has_previous %}<a href="?q={{ query }}&amp;page={{ page.previous_page_number }}">{% endif %}&laquo; Previous{% if page.has_previous %}</a>{% endif %}
                    |
                    {% if page.has_next %}<a href="?q={{ query }}&amp;page={{ page.next_page_number }}">{% endif %}Next &raquo;{% if page.has_next %}</a>{% endif %}
                </div>
            {% endif %}
        {% else %}
            {# Show some example queries to run, maybe query syntax, something else? #}
        {% endif %}
    </form>
</div>
</div>
{% endblock %}

你知道吗设置.py-你知道吗

HAYSTACK_CONNECTIONS = {
'default': {
    'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',
},
}
HAYSTACK_ROUTERS = ['aldryn_search.router.LanguageRouter', ]
ALDRYN_SEARCH_REGISTER_APPHOOK = True
ALDRYN_SEARCH_PAGINATION = 20
ALDRYN_SEARCH_CMS_PAGE = True

此外,haystack和aldryn\u search都在安装的应用程序中。你知道吗

当我运行update\u index--remove时,它似乎在大部分情况下都有效:

Indexing 5 locations
Indexing 2 People
Indexing 16 articles

从文件上看我做的一切都对。但我不能。我们网站上只有一种语言,所以文档对我来说有点难以理解,因为我不确定我是否有只需要多种语言的额外内容。你知道吗

堆栈跟踪:

['/build/healthdirect',
 '/build/env/lib/python27.zip',
 '/build/env/lib/python2.7',
 '/build/env/lib/python2.7/plat-darwin',
 '/build/env/lib/python2.7/plat-mac',
 '/build/env/lib/python2.7/plat-mac/lib-scriptpackages',
 '/build/env/lib/python2.7/lib-tk',
 '/build/env/lib/python2.7/lib-old',
 '/build/env/lib/python2.7/lib-dynload',

'/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7', '/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat达尔文', '/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib tk', '/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat mac', '/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat mac/lib脚本包', '/build/env/lib/python2.7/site packages']


Tags: builddivenv框架searchiflib系统