2012-04-16 23 views
1

我最近开始学习/安装django/haystack/solr。django-haystack urlpatterns包括('haystack.urls')它导致哪里?

继草垛网站提供的教程,

I have urlpatterns = pattern('', r'^search/', include('haystack.urls')) 

我发现安装在/usr/local/lib/python2.6/dist-packages/haystack 草堆位于urls.py那里。

urlpatterns=patterns('haystack.views', url(r'^$', SearchView(), name='haystack_search'),) 

我认为URL的第二个参数()应该是可调用的对象。
我看了views.py和SearchView是一个类。
这是怎么回事?
什么是最终调用?

+0

这是'SearchView'的'__call__'方法。正如sberry的回答所言。 – okm 2012-04-16 05:46:43

回答

2

并不完全回答你的问题,而是一个类可以是可调用:

>>> class Foo(object): 
...  def __call__(self): 
...    print "Called me" 
... 
>>> 
>>> foo = Foo() 
>>> foo() 
Called me