【发布时间】:2014-05-07 15:24:44
【问题描述】:
对于我的网站,我正在尝试设计一个搜索栏,该搜索栏将过滤某个类的多个属性,例如姓名和电话。 但是,我不知道如何从 python 的一页中获取多个值。我做了很多尝试,但都失败了。 我正在发布最新的(这也不起作用)。我真的需要一些帮助。
def search(request):
errors = []
if 'q1' in request.GET:
q1 = request.GET['q1']
if 'q2' in request.GET:
q2 = request.GET['q2']
if not (q1 or q2):
errors.append('Enter a search term.')
elif ((len(q1) > 20) or (len(q2) > 20)):
errors.append('Please enter at most 20 characters.')
elif q1 and (not q2):
hotels = Hotel.objects.filter(name__icontains=q1)
return render(request, 'company/search_results.html', {'hotels': hotels, 'query': q1})
elif ((not q1) and q2):
hotels = Hotel.objects.filter(street__icontains=q2)
return render(request, 'company/search_results.html', {'hotels': hotels, 'query': q2})
else:
names = Hotel.objects.filter(name__icontains=q1)
streets = Hotel.objects.filter(street__icontains=q2)
hotels = (names and streets)
return render(request, 'company/search_results.html', {'hotels': hotels, 'query': (q1 or q2)})
return render(request, 'company/search_form.html',
{'errors': errors})
我还在获取输入的地方发布了部分 html 代码。
<table align="center">
<tr>
<td>name:</td>
<td><input type="text" name="q1"></td>
</tr>
<tr>
<td>telephone:</td>
<td><input type="text" name="q2"></td>
</tr>
</table>
<form action="/company/search/" method="get">
<input type="submit" value="Search">
</form>
【问题讨论】: