MCPcopy Index your code
hub / github.com/django-haystack/django-haystack / SearchView

Class SearchView

haystack/views.py:12–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10
11
12class SearchView:
13 template = "search/search.html"
14 query = ""
15 results = EmptySearchQuerySet()
16 request = None
17 form = None
18 results_per_page = RESULTS_PER_PAGE
19
20 def __init__(
21 self,
22 template=None,
23 load_all=True,
24 form_class=None,
25 searchqueryset=None,
26 results_per_page=None,
27 ):
28 self.load_all = load_all
29 self.form_class = form_class
30 self.searchqueryset = searchqueryset
31
32 if form_class is None:
33 self.form_class = ModelSearchForm
34
35 if results_per_page is not None:
36 self.results_per_page = results_per_page
37
38 if template:
39 self.template = template
40
41 def __call__(self, request):
42 """
43 Generates the actual response to the search.
44
45 Relies on internal, overridable methods to construct the response.
46 """
47 self.request = request
48
49 self.form = self.build_form()
50 self.query = self.get_query()
51 self.results = self.get_results()
52
53 return self.create_response()
54
55 def build_form(self, form_kwargs=None):
56 """
57 Instantiates the form the class should use to process the search query.
58 """
59 data = None
60 kwargs = {"load_all": self.load_all}
61 if form_kwargs:
62 kwargs.update(form_kwargs)
63
64 if len(self.request.GET):
65 data = self.request.GET
66
67 if self.searchqueryset is not None:
68 kwargs["searchqueryset"] = self.searchqueryset
69

Callers 6

urls.pyFile · 0.90
test_empty_resultsMethod · 0.90
test_initial_dataMethod · 0.90
test_spellingMethod · 0.90
urls.pyFile · 0.90
test_view_suggestionMethod · 0.90

Calls 1

EmptySearchQuerySetClass · 0.90

Tested by 4

test_empty_resultsMethod · 0.72
test_initial_dataMethod · 0.72
test_spellingMethod · 0.72
test_view_suggestionMethod · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…