你好,我在Django我的工作如何使用從Django的文檔的網站搜索表單。以下是一些信息。 現在,有沒有一種方法可以產生部分搜索標題?例如,如果我想搜索一本名爲「Apress」的書,而不是輸入整個單詞,我只是寫了「ap」來獲得Apress。有沒有辦法實現這個解決方案?編輯搜索視圖在Django
from django.db.models import Q
from django.shortcuts import render_to_response
from models import Book
#views.py
def search(request):
query = request.GET.get('q', '')
if query:
qset = (
Q(title__icontains=query) |
Q(authors__first_name__icontains=query) |
Q(authors__last_name__icontains=query)
)
results = Book.objects.filter(qset).distinct()
else:
results = []
return render_to_response("books/search.html", {
"results": results,
"query": query
})
#search html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<title>Search{% if query %} Results{% endif %}</title>
</head>
<body>
<h1>Search</h1>
<form action="." method="GET">
<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 book in results %}
<li>{{ book|escape }}</l1>
{% endfor %}
</ul>
{% else %}
<p>No books found</p>
{% endif %}
{% endif %}
</body>
</html>
這有什麼錯你的代碼? – 2010-10-25 14:53:29
沒什麼,但我想執行部分搜索。例如,如果我想查找一本名爲「哈利波特」的書的標題,我希望能夠輸入「哈」或「哈」或以其他方式查看它。 – Shehzad009 2010-10-25 15:01:04