Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2013 08:03:21

crazyman2004
Зарегистрирован: 2013-06-19
Сообщения: 28
Репутация: +  2  -
Профиль   Отправить e-mail  

ListView с формой

Народ, подскажите как правильнее сделать вьюху на 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)

так же, не могу понять как сделать валидацию, чтобы из ItemsList нельзя было отправлять пустое значение
насколько понимаю нужно делать валидацию в самом ItemsList, но хз как…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version