Skip to content

Commit 69bb1db

Browse files
committed
chg: dev: Simplified context handling
Thanks to @claudep for the patch Closes django-haystack#1330
1 parent 4afb613 commit 69bb1db

File tree

4 files changed

+14
-17
lines changed

4 files changed

+14
-17
lines changed

docs/views_and_forms.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ The functional view provides an example of how Haystack can be used in more
254254
traditional settings or as an example of how to write a more complex custom
255255
view. It is also thread-safe.
256256

257-
``SearchView(template=None, load_all=True, form_class=None, searchqueryset=None, context_class=RequestContext, results_per_page=None)``
257+
``SearchView(template=None, load_all=True, form_class=None, searchqueryset=None, results_per_page=None)``
258258
---------------------------------------------------------------------------------------------------------------------------------------
259259

260260
The ``SearchView`` is designed to be easy/flexible enough to override common
@@ -372,7 +372,7 @@ creates the context and renders the response for all the aforementioned
372372
processing.
373373

374374

375-
``basic_search(request, template='search/search.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, context_class=RequestContext, extra_context=None, results_per_page=None)``
375+
``basic_search(request, template='search/search.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, extra_context=None, results_per_page=None)``
376376
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
377377

378378
The ``basic_search`` tries to provide most of the same functionality as the

haystack/admin.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22

33
from __future__ import absolute_import, division, print_function, unicode_literals
44

5-
from django import template
6-
from django.contrib.admin.options import csrf_protect_m, ModelAdmin
7-
from django.contrib.admin.views.main import ChangeList, SEARCH_VAR
5+
from django.contrib.admin.options import ModelAdmin, csrf_protect_m
6+
from django.contrib.admin.views.main import SEARCH_VAR, ChangeList
87
from django.core.exceptions import PermissionDenied
98
from django.core.paginator import InvalidPage, Paginator
10-
from django.shortcuts import render_to_response
9+
from django.shortcuts import render
1110
from django.utils.encoding import force_text
1211
from django.utils.translation import ungettext
1312

@@ -146,13 +145,13 @@ def changelist_view(self, request, extra_context=None):
146145
'actions_selection_counter': getattr(self, 'actions_selection_counter', 0),
147146
}
148147
context.update(extra_context or {})
149-
context_instance = template.RequestContext(request, current_app=self.admin_site.name)
148+
request.current_app = self.admin_site.name
150149
app_name, model_name = get_model_ct_tuple(self.model)
151-
return render_to_response(self.change_list_template or [
150+
return render(request, self.change_list_template or [
152151
'admin/%s/%s/change_list.html' % (app_name, model_name),
153152
'admin/%s/change_list.html' % app_name,
154153
'admin/change_list.html'
155-
], context, context_instance=context_instance)
154+
], context)
156155

157156

158157
class SearchModelAdmin(SearchModelAdminMixin, ModelAdmin):

haystack/fields.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def prepare_template(self, obj):
136136
template_names = ['search/indexes/%s/%s_%s.txt' % (app_label, model_name, self.instance_name)]
137137

138138
t = loader.select_template(template_names)
139-
return t.render(Context({'object': obj}))
139+
return t.render(Context({'object': obj}).flatten())
140140

141141
def convert(self, value):
142142
"""

haystack/views.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
from django.conf import settings
66
from django.core.paginator import InvalidPage, Paginator
77
from django.http import Http404
8-
from django.shortcuts import render_to_response
9-
from django.template import RequestContext
8+
from django.shortcuts import render
109

1110
from haystack.forms import FacetedSearchForm, ModelSearchForm
1211
from haystack.query import EmptySearchQuerySet
@@ -23,10 +22,9 @@ class SearchView(object):
2322
form = None
2423
results_per_page = RESULTS_PER_PAGE
2524

26-
def __init__(self, template=None, load_all=True, form_class=None, searchqueryset=None, context_class=RequestContext, results_per_page=None):
25+
def __init__(self, template=None, load_all=True, form_class=None, searchqueryset=None, results_per_page=None):
2726
self.load_all = load_all
2827
self.form_class = form_class
29-
self.context_class = context_class
3028
self.searchqueryset = searchqueryset
3129

3230
if form_class is None:
@@ -144,7 +142,7 @@ def create_response(self):
144142
context['suggestion'] = self.form.get_suggestion()
145143

146144
context.update(self.extra_context())
147-
return render_to_response(self.template, context, context_instance=self.context_class(self.request))
145+
return render(self.request, self.template, context)
148146

149147

150148
def search_view_factory(view_class=SearchView, *args, **kwargs):
@@ -178,7 +176,7 @@ def extra_context(self):
178176
return extra
179177

180178

181-
def basic_search(request, template='search/search.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, context_class=RequestContext, extra_context=None, results_per_page=None):
179+
def basic_search(request, template='search/search.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, extra_context=None, results_per_page=None):
182180
"""
183181
A more traditional view that also demonstrate an alternative
184182
way to use Haystack.
@@ -232,4 +230,4 @@ def basic_search(request, template='search/search.html', load_all=True, form_cla
232230
if extra_context:
233231
context.update(extra_context)
234232

235-
return render_to_response(template, context, context_instance=context_class(request))
233+
return render(request, template, context)

0 commit comments

Comments
 (0)