首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-Haystack初始设置

Django-Haystack初始设置
EN

Stack Overflow用户
提问于 2016-05-05 00:05:10
回答 1查看 429关注 0票数 0

干草2.4.1 (Django 1.9)

我在平面搜索上遇到麻烦了。

我试着效仿this最近的堆栈溢出回答,但它仍然不起作用。

从一个搜索章

代码语言:javascript
复制
#search/views.py
from django.shortcuts import render
from haystack.forms import FacetedSearchForm
from haystack.generic_views import FacetedSearchView as BaseFacetedSearchView

class FacetedSearchView(BaseFacetedSearchView):
        form_class = FacetedSearchForm
        facet_fields = ['categories']
    template_name = 'search/search.html'
    context_object_name = 'page_object'

#urls.py
from haystack.forms import FacetedSearchForm
from search.views import FacetedSearchView
from haystack.query import SearchQuerySet

urlpatterns += patterns('haystack.views',
    url(r'^search/', FacetedSearchView.as_view(), name='haystack_search'),
)

我很感谢你们能提供的任何帮助。我在这件事上束手无策。--

我正在使用来自Hay堆栈文档的模板。

代码语言:javascript
复制
{% if query %}
    <!-- Begin faceting. -->
    <h2>By Category</h2>

    {{ self.get_facets }}

    <div>
        <dl>
            {% if facets.fields.category %}
                <dt>category</dt>
                {# Provide only the top 5 categories #}
                {% for category in facets.fields.categories|slice:":5" %}
                    <dd><a href="{{ request.get_full_path }}&amp;selected_facets=category_exact:{{ category.0|urlencode }}">{{ category.0 }}</a> ({{ category.1 }})</dd>
                {% endfor %}
            {% else %}
                <p>No category facets.</p>
            {% endif %}
        </dl>
    </div>
    <!-- End faceting -->

    <!-- Display results... -->
    {% for result in page_object %}
        <div class="search_result">
            <h3><a href="{{ result.object.get_absolute_url }}">{{ result.object.title }}</a></h3>

            <p>{{ result.object.body|truncatewords:80 }}</p>
        </div>
    {% empty %}
        <p>Sorry, no results found.</p>
    {% endfor %}

{% endif %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-08 13:43:53

页不在上下文中。直接使用object_list访问对象。

否则,如果您想遵循网站官方教程,只需在您的urls.py中使用以下内容:

代码语言:javascript
复制
url(r'^search/', FacetedSearchView(form_class=FacetedSearchForm, searchqueryset = SearchQuerySet().facet('author')), name='haystack_search)

而不是:

代码语言:javascript
复制
url(r'^search/', FacetedSearchView(form_class=FacetedSearchForm, selected_facets=['author'] , name='haystack_search).

希望这能帮助一些人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37040154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档