我正在研究使用Django进行多层搜索(高级搜索)的高级搜索引擎,但我不确定如何使用包含多个搜索字段的搜索表单进行简单搜索。例如:在表格中我有一个文本框,一个下拉列表,其中包含几种类型的水果和一个提交按钮。问题是,当我决定只进行简单搜索时,只需在文本框中输入一些字符串而不选择水果类型并将其保留为默认值" "
,当我提交表单时,它会生成URL:{ {1}}。有没有办法从网址中删除http://127.0.0.1:8000/result/?q=something&fruit_type=+
?
&fruit_type=+

以下是view.py文件:
<form action="/result/" method="get">
<input type="text" id="search_box" name="q"/>
<input type="submit" id="sbm_button" value="SEARCH" class="inputbtn"/>
<br />
<select name="Fruits">
<option value=" ">Fruits</option>
<option value="apple">Apple</option>
<option value="orange">Orange</option>
</select>
</form>
它会使用上面提到的生成的URL将q和fruit_type返回给result.html。有没有办法忽略表单中的def search(request):
if 'q' in request.GET:
q = request.GET['q']
fruit_type = request.GET['Fruits']
return render(request, 'result.html', {
'query' : q,
'fruit' : fruit_type,
})
下拉列表(提交表单并忽略下拉列表)?可以在Javascript中执行此操作吗?谢谢。