你好我最近一直在Django的搜索表單上工作,並且已經厭倦了編輯一個我自己。這是一個應該找到客戶的搜索表單。但是,當我鍵入客戶名稱時,它不顯示該客戶的名稱。所以我想知道我做錯了什麼。Django搜索表單,我不能使它工作
#model.py
class Client(models.Model):
company = models.CharField(max_length=80)
first_name = models.CharField(max_length=80, blank=True, null=True)
last_name = models.CharField(max_length=80, blank=True, null=True)
address = models.CharField(max_length=250)
city = models.CharField(max_length=100)
country = models.CharField(max_length=120)
postcode = models.CharField(max_length=7)
telephone = models.CharField(max_length=20)
email = models.EmailField()
additional_info = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.company
#views.py
@login_required
def search_client(request):
query = request.GET.get('q', '')
if query:
qset = (
Q(company__icontains=query) |
Q(address__icontains=query) |
Q(postcode__icontains=query)
)
results = Client.objects.filter(qset).distinct()
else:
results = []
return render_to_response("search_clients.html", {
"results": results,
"query": query
}, context_instance=RequestContext(request))
#search_clients
{% extends "base.html" %}
{% block content %}
<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 clients in results %}
<li>{{ clients|escape }}</l1>
{% endfor %}
</ul>
{% else %}
<p>No clients found</p>
{% endif %}
{% endif %}
{% endblock %}
你得到的輸出是什麼?任何錯誤消息? – 2010-10-26 12:05:39
正如我所說沒有錯誤信息。我收到一個搜索框。鍵入一個客戶端,我知道它在數據庫上,但它不會返回給我那個客戶端。而是顯示客戶端。它甚至不顯示「找不到客戶」。 – Shehzad009 2010-10-26 12:12:52