Форум сайта python.su
Народ, подскажите как правильнее сделать вьюху на CBV (listview) c формой поиска
мой воспаленный мозг, придумал только такое
class ItemsList(ListView): template_name = 'items_list.html' queryset = Item.objects.all() def get_context_data(self, **kwargs): context = super(ItemsList, self).get_context_data(**kwargs) context['form'] = SearchForm() return context def search(request): if 'search' in request.GET and request.GET['search']: search = request.GET['search'] form = SearchForm(request.GET) if form.is_valid(): art = Item.objects.filter(Q(title__icontains=search)) else: art = [] else: form = SearchForm() art = [] c = RequestContext(request, {'items':art, 'form':form}) return render_to_response('search_list.html',c)
Офлайн