我在发布此问题之前搜索了很多但我找不到我正在寻找的答案。
我最近将搜索功能添加到我的Django支持的站点,这是代码:
我的Html输入名称是'q',表单操作是:{% url searcher %}
我的网址:url(r'^sercher$', views.searcher, name='searcher'),
观点:
def searcher(request):
Userinput = request.GET.get("q")
return render(request, 'music/FP.html', {'FP': Project.objects.filter(Userinput)})
并且它正在工作,例如,如果我有一个名为“我的项目”的project_title并且用户搜索“我的”搜索功能无法工作,用户必须输入“我的项目”如何解决这个问题?
答案 0 :(得分:0)
您.filter()
工作的当前方式,必须输入完全匹配才能显示结果。您可能希望尝试使用icontains
,如下所示:
注意:最好将变量名称保持小写。
注意2:将“fieldname”替换为您要搜索的模型中的任何字段。
def searcher(request):
userinput = request.GET.get("q")
return render(request, 'music/FP.html', {'FP': Project.objects.filter(fieldname__icontains=userinput)})