Шаблоны URL-адресов django-haystack включают ('haystack.urls'), куда это ведет?

Недавно я начал изучать/устанавливать django/haystack/solr.

Следуя руководству, приведенному на сайте стога сена,

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 — это класс.
Что здесь происходит?
Что в итоге вызывается?


person eugene    schedule 16.04.2012    source источник
comment
Это __call__ метод SearchView. как сказал ответ sberry.   -  person okm    schedule 16.04.2012


Ответы (1)


Точно не отвечает на ваш вопрос, но класс может быть вызываемым:

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