Skip to content

Instantly share code, notes, and snippets.

@zokis
Created April 17, 2013 15:04
Show Gist options
  • Save zokis/5405039 to your computer and use it in GitHub Desktop.
Save zokis/5405039 to your computer and use it in GitHub Desktop.
Django: generic view for Search and Listing
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.views.generic.edit import FormMixin
from django.views.generic.list import ListView
class SearchFormListView(FormMixin, ListView):
def get_form_kwargs(self):
return {'initial': self.get_initial(), 'data': self.request.GET}
def get(self, request, *args, **kwargs):
self.form = self.get_form(self.get_form_class())
self.object_list = self.form.get_queryset()
context = self.get_context_data(object_list=self.object_list, form=self.form)
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
return self.get(request, *args, **kwargs)
class UserSearchView(SearchFormListView):
# initial = {}
# success_url = None
# paginate_by = 20
form_class = UserSearchForm
model = User
user_list = login_required(UserSearchView.as_view())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment