Есть 2 формы. 1 - поиск, 2 фильтрация
1.
<form class="form" action =" {% url 'search' %}" >
<div class="input-group">
<input class="form-control border-right-0 border " type="search" placeholder="Искать товары", name="search">
<span class="input-group-append">
<div class="input-group-text bg-transparent p-0">
</div>
<button class="btn btn-outline-success " type="submit"><i class="fa fa-search"></i></button>
</span>
</div>
</form>
2.
<form class="form for_change_items" method="get" name ="a" >
<div class="form-check p-0 " >
<input class="form-check-input" type="radio" onClick="a.submit()" name="model_or_item" id="model" value="model">
<input class="form-check-input" type="radio" onClick="a.submit()" name="model_or_item" id="item" value="item" >
<a class= "gray_text">{{items.count }} товар (-а, -ов)</a>
<input class="form-check-input" type="radio" name="change_items" onClick="a.submit()" checked id="2_items" value="2_items" >
<input class="form-check-input" type="radio" name="change_items" onClick="a.submit()" id="many_items" value="many_items">
<label {% if model_or_item == 'item' %} style=" opacity:0.7;" {% endif %} class="form-check-label font-weight-bolder" for="model">
<a {% if model_or_item == 'model' %} style=" text-decoration: underline;" {% endif %}>Модель</a>
</label>
<label {% if model_or_item == 'model' %} style=" opacity:0.7;" {% endif %} class="form-check-label font-weight-bolder " for="item">
<a {% if model_or_item == 'item' %} style=" text-decoration: underline;" {% endif %}>Изделие</a>
</label>
</div>
</form>
как я их получаю в views.py
search = request.GET.get('search')
change_items = request.GET.get('change_items', '2_items')
model_or_item = request.GET.get('model_or_item', 'model')
items = Item.objects.filter(title__icontains = search)
Если я что-то ищу, а потом начинаю фильтровать товар, страница перезагружается и search становиться None. Как сохранять значение в переменной search?
Используй одну форму (всмысле один тег form), и будет тебе счастье
Или как вариант можно при отправке данных формы, добавить параметры второй формы (Через JS).
Не знаю, сработает ли отправка данных формы по url c уже установленными get параметрами (можете проверить), но если отправлять форму по AJAX и рендерить потом результаты на странице (что удобнее для пользователя, тк нет явной перезагрузки страницы), то сработает.
Должно быть что то вроде
var form_data = search_form.serialize();
var filter_form_data = filter_form.serialize();
if (form_data) {
form_data += '&' + filter_form_data;
}
else {
form_data = filter_form_data;
}
$.get({
url: 'bla-bla.ru/page',
data: form_data,
.........
});
# Кстати можно попробовать и редирект
# Если в window.location будет знак "?" то надо быдет обрезать строку до этого знака, и к ней добавлять параметры
window.location = window.location + '?' + form_data;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
И так, после выполнения этого кода, VS возвращает ошибку
Есть такая задача: сгенерировать матрицу NxN случайными числами, найти в каждом столбце полученной матрицы максимум, из выборки максимумов...
Написал муравья ленгтона на c++, для визуализации использовал функции winapiМуравей ходит нормально ровно до того момента когда он должен начать...