Я работаю с двумя страницами и хочу нажать a tag
на одной странице, чтобы вставить значение в поисковый запрос на другой странице.
Итак, вот мои views.py:
def bikes_all(request):
item_list = Bike.objects.all()
category_q = request.GET.get('cat')
if category_q:
item_list = item_list.filter(category__pk=category_q)
paginator = Paginator(item_list, 10)
page = request.GET.get('page')
try:
items = paginator.page(page)
except PageNotAnInteger:
items = paginator.page(1)
except EmptyPage:
items = paginator.page(paginator.num_pages)
context = {
'items': items,
}
return render(request, "bikes_all.html", context)
и мой шаблон:
<form method="GET" action="{% url 'core:bikes_all' %}">
<div class="form-row ">
<div class="form-group col-5">
<label for="category">Category</label>
<select id="cat" class="form-control" name="cat">
<option value="" {% if not request.GET.cat %} selected {% endif %}>Choose...</option>
{% for cat in category_list %}
<option value="{{ cat.pk }}" {% if request.GET.cat == cat.pk|slugify %} selected {% endif %}>
{{ cat }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="form-row">
<button type="submit" class="btn btn-outline-primary btn-md">Search</button>
</div>
</form>
и вот a tag
с другой страницы:
<div class="col-md-4 overlay zoom">
<a href="{% url 'core:bikes_all' %}">
<div style="position:relative;">
<img src="{% static '/img/category_choice/bike33.png' %}" class="img-fluid">
<div class="card-img-overlay">
<h2 class="card-title"
style="text-align: center; color: aliceblue; position: absolute; bottom:5px;">
Road Bikes
</h2>
</div>
</div>
</a>
</div>
Так что у меня есть {% url 'core:bikes_all' %}
в моем href, который принимает значение bikes_all.html
, но я бы также хотел передать поисковый запрос в этом разделе. Я пытался сделать {% url 'core:bikes_all' request.GET.cat=2 %}
или {% url 'core:bikes_all' category_q=2 %}
, но это не сработало.
Поисковый запрос выглядит так, когда я фильтрую результаты по категории http://localhost:8000/bikes/all?cat=1
Поэтому моя цель - перенаправить пользователя на http://localhost:8000/bikes/all?cat=2
, когда он нажимает на a tag
на первой странице.