Форма поиска с Django + Python - PullRequest
       1

Форма поиска с Django + Python

1 голос
/ 29 ноября 2010

Я только начал создавать сайт с помощью django + python и хочу создать форму поиска, чтобы можно было выполнять поиск по всем моим объектам базы данных. Что я хочу это; когда я пишу для примера S, я хочу, чтобы в поле поиска отображались все мои объекты, начинающиеся с буквы S в списке, так же, как поле Теги ниже на этом сайте.

У кого-нибудь есть хорошая идея реализовать это с помощью django?

1 Ответ

6 голосов
/ 29 ноября 2010

Для достойной реализации поиска в django, я бы порекомендовал посмотреть на djapian. Однако для того, что вы делаете, я бы порекомендовал запрос с использованием параметра ISTARTSWITH. Учтите следующее:

views.py

def search(req):
    if req.GET:
        search_term = req.GET['term']
        results = ModelToSearch.objects.filter(field__istartswith=search_term)
        return render_to_response('search.html', {'results': results})
    return render_to_response('search.html', {})

search.html

<html>
<body>
<form>
     <input name='S'>
</form>
{% if results %}
Found the following items:
<ol>
{% for result in results %}
    <li>{{result}}</li>
{% endfor %}
</ol>
{% endif %}
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...