嘿,我一直在刻苦努力獲得草垛與嗖合作執行一個Django CMS項目,我一直在努力搜索後端。弄清楚一些真正奇怪的權限錯誤後,我幾乎可以嚐到成功。Django的CMS-搜索不顯示任何結果
我現在有正確的草垛創建索引,它甚至會顯示我已經創建了一個索引自定義應用程序的結果,但是我無法得到它,以顯示CMS頁面的東西任何結果。結果被返回,因爲我沒有得到「沒有結果」的消息,但沒有任何內容正在打印出results.html模板。
銘記,即時通訊讓Django的CMS-搜索處理索引CMS的應用程序,我沒有想到我會需要添加任何額外費用,以獲得顯示的結果。
那麼概述什麼我到目前爲止有嗖後端安裝 草堆
我setting.py
設置的
HAYSTACK_SITECONF = 'lactoseintolerant.lactose_search.search_sites'
HAYSTACK_SEARCH_ENGINE = 'whoosh'
HAYSTACK_WHOOSH_PATH = '/home/mike/sites/lactosetoloerant/lactoseintolerant/whoosh'
HAYSTACK_SEARCH_RESULTS_PER_PAGE = 50
我search_sites.ph
文件看起來像
import haystack
from cms.models import monkeypatch_reverse
from cms.plugin_pool import plugin_pool
monkeypatch_reverse()
haystack.autodiscover()
我有一個自我的主題模型索引看起來像這樣(這是工作和resurning Reuslts)
from topics.models import Topic
from haystack.indexes import *
from haystack import site
class TopicIndex(SearchIndex):
text = CharField(document=True, use_template=True)
def index_queryset(self):
"""
This is used when the entire index for model is updated, and should only include
public entries
"""
return Topic.objects.filter(active=True)
site.register(Topic, TopicIndex)
我results.html
模板的樣子
{% extends "base.html" %}
{% load cache cms_tags menu_tags %}
{% block base_content %}
<div id="panel-left">
{% block nav %}
<ul id="nav-left">
{% show_menu 1 100 100 100 %}
</ul> <!-- #nav-left -->
{% endblock %}
{% block panel_left %}
{% endblock %}
</div>
{% block panel_right %}
<div id="panel-main">
{% ifequal q '' %}
<h1 id="page-head-2">Search Results Page</h1>
<p>Please provide search criteria or keywords</p>
<br />
<form action=".">
<p>
<input type="text" name="q" value="{{ q }}">
<input type="submit" name="search" value="Search">
</p>
</form>
{% else %}
<h1 id="page-head-2">Search Results - page {{ request.GET.page|default:1 }} of {{ paginator.num_pages }}</h1>
<h1 id="page-head-2">Found {{ paginator.count }} for <span id="searchString">'{{ q }}'</span></h1>
<form action=".">
<p>
<input type="text" name="q" value="{{ q }}">
<input type="submit" name="search" value="Search">
</p>
</form>
<ul id="searchResults">
{% for item in current_page.object_list %}
<li class="searchResult">
<h2 class="searchTitle">{{ forloop.counter }}. {{ item.get_title }}</h2>
<a class="searchLink" href="{{ item.get_absolute_url }}">{{ item.get_absolute_url }}</a>
</li> <!-- .searchResult -->
{% endfor %}
</ul>
{% if paginator.num_pages > 1 %}
<div id="pagination">
{% for page_range_item in paginator.page_range %}
{% if not request.GET.page and page_range_item == 1 or request.GET.page == page_range_item|safe %}
<span class="pag-link current" href="/topics/?page={{ page_range_item }}">{{ page_range_item }}</span>
{% else %}
<a class="pag-link" href="/search/?q={{ q }}&page={{ page_range_item }}">{{ page_range_item }}</a>
{% endif %}
{% endfor %}
</div>
{% endif %}
{% endifequal %}
</div>
{% endblock %}
{% endblock %}
林顯然缺少明顯的東西在這裏任何幫助,將grealt感謝!
乾杯
呢'從haystack.query進口SearchQuerySet; SearchQuerySet()'返回任何cms頁面? – stefanfoulis
你解決了嗎?如果是這樣,請發佈解決方案。提前致謝! – Daviddd