Ala*_*gel 3 python django faceted-search django-haystack
在享受干草堆2.4.1(Django 1.8)的第一个结果的同时,我不得不承认我在学习它的过程中遇到了困难.文档有时是不完整的,有些功能只有很少的例子.
分面搜索就是其中之一.
我正在关注文档,并在url.py:
urlpatterns = patterns('haystack.views',
url(r'^$', FacetedSearchView(form_class=FacetedSearchForm, facet_fields=['author']), name='haystack_search'),
)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/ tag_analytics/faceted_search /上的TypeError
__init __()得到了一个意外的关键字参数'facet_fields'
看起来FacetSearchView不接受facet_fields
参数,这使我转到版本2.4.0,当时正确的方法是
FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs)
Run Code Online (Sandbox Code Playgroud)
虽然我确定我的版本是2.4.1,但我尝试了这个选项,并得到了一个
/ tag_analytics/faceted_search /上的TypeError
slice索引必须是整数或None或具有__index__方法
提前感谢任何线索!
最好的,阿兰
文档是错误的,令人困惑.你不能传递facet_fields
给构造函数FacetedSearchView
.
你采取的方法是正确的,虽然不是把所有这些参数放在url
定义中,你应该创建自己的视图 - 像这样:
# tag_analytics/views.py
from haystack.generic_views import FacetedSearchView as BaseFacetedSearchView
# Now create your own that subclasses the base view
class FacetedSearchView(BaseFacetedSearchView):
form_class = FacetedSearchForm
facet_fields = ['author']
template_name = 'search.html'
context_object_name = 'page_object'
# ... Any other custom methods etc
Run Code Online (Sandbox Code Playgroud)
然后在urls.py
:
from tag_analytics.views import FacetedSearchView
#...
url(r'^$', FacetedSearchView.as_view(), name='haystack_search'),
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
605 次 |
最近记录: |