моя форма:
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input name="q" type="text" class="form-control form-control-lg form-control-borderless" placeholder="Вводите фамилию" id="client-search-input">
</div>
<button type="submit" class="btn btn-default">Найти клиента</button>
</form>
Вот вьюшка:
class ClientSearchView(ListView):
model = Client
context_object_name = 'client_list'
template_name = 'client_list.html'
def get_queryset(self):
query = self.request.GET.get('q')
object_list = Client.objects.filter(Q(name__startswith=query))
return object_list
Вот фрагмент urls:
path('client/search/', ClientSearchView.as_view(), name='index'),
При вводе в форму, скажем, слова test вижу в адрксной строке:
http://127.0.0.1:8000/?q=test (запись с таким наименованием в базе есть)
однако страница clien_list.html не обновляется (вернее, обновляется, но ничего на ней не меняется).
Люди добрые, подскажите, где я туплю, и/или где можно найти работающий пример, аналогичный моему?
Чувстсвуется, что не понимаю/не знаю какой-то элементарной вещи, но, поскольку "новенький", наступаю на все грабли
Заранее признателен.
Обрати внимание на урлы: у тебя форма сабмитится на тот же адрес, что и была, а не на /client/search/. <form action="{% url 'index' %}" ...>
Обсуждают сегодня