Форум сайта python.su
Всем привет.
Хочу сделать нечто как на ауто.ру
Т.е. есть комбо бокс - юзер выбирает что то из перечисленного в нём. Сообразно его выбору открывается новая форма с другим комбо-боксом, потом юзер пишет интересующую его фразу и ведется список уже суженный по выбранным им фильтрам.
Т.е. к примеру, юзер из всего множества машин выбрал легковой->седан->“бмв” и ведется поиск по всем этим параметрам. Как это сделать?
Привожу шаблонный файл с комбо-боксами и формочкой поиска. Как их связать, чтоб джанго понимала, где и что искать?
#search.html
{% extends "base.html" %}
{% block title %}Searching form{% endblock %}
{% block content %}
<head>
<title>Search{% if query %} Results{% endif %}</title>
</head>
<body>
<h1>Search {{ object }}</h1>
<form action="." method="GET">{% csrf_token %}
//комбо-бокс 1
<td align="right">Content type
<select name="type_content" class="form" style="width: 50px">
<option value=1 selected>____</option>
<OPTION value=sound>легковой</OPTION>
<OPTION value=video>грузовой</OPTION>
</select>
//комбо-бокс 2
<td align="right">Content type
<select name="type_content" class="form" style="width: 50px">
<option value=1 selected>____</option>
<OPTION value=sound>седан</OPTION>
<OPTION value=video>купе</OPTION>
</select>
//форма поиска
<label for="q">Search: </label>
<input type="text" name="q" value="{{ query|escape }}">
<input type="submit" value="Search">
</form>
{% if query %}
<h2>Results for "{{ query|escape }}":</h2>
{% if results %}
<ul>
{% for file in results|slice:":10" %}
<li><a href="{{ file.get_absolute_url }}">{{ file|escape }}</a></l1>
{% endfor %}
</ul>
{% else %}
<p>No files found</p>
{% endif %}
{% endif %}
</body>
</html>
{% endblock %}
def searcher(request):
query = request.GET.get('q', '')
if query:
qset = (
Q(autoMark__icontains=query)
)
results = Auto.objects.filter(qset).distinct()
else:
results = []
return render_to_response("search.html", {
"results": results,
"query": query
})
Офлайн
это делается через js, джанга тут может разве что подгружать по ajax пункты подменю
Офлайн