Django筛选器未通过url传递值
我一直在学习本教程,但是当我试图通过表单传递值时,“?”后面没有值出现,我是否在某个地方有输入错误 当我输入Django筛选器未通过url传递值,django,filtering,Django,Filtering,我一直在学习本教程,但是当我试图通过表单传递值时,“?”后面没有值出现,我是否在某个地方有输入错误 当我输入C34时,我应该在url中得到的是:/?C34 相反,我只得到:/? 我的代码: #Urls.py path('', SampleFliterView, name='SampleFliterView'), #views.py def SampleFliterView(request): qs = Sample.objects.all() sample_number_que
C34
时,我应该在url中得到的是:/?C34
相反,我只得到:/?
我的代码:
#Urls.py
path('', SampleFliterView, name='SampleFliterView'),
#views.py
def SampleFliterView(request):
qs = Sample.objects.all()
sample_number_query = request.GET.get('sample_number')
container_name_query = request.GET.get('container_name')
if container_name_query != '' and container_name_query is not None:
qs = qs.filter(sample_number__icontains=container_name_query)
context = {
'queryset': qs
}
return render(request, "container/filter.html", context)
#html template
<form class="" action="." method="GET">
<div class="form-row">
<div class="form-group col-12">
<div class="input-group">
<input class="form-control py-2 border-right-0 border " type="text" name="" value="" placeholder="Sample Number" name="sample_number"/>
<span class="input-group-append">
<div class="input-group-text bg-transparent"><i class="fa fa-search"></i></div>
</span>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-12">
<div class="input-group">
<input class="form-control py-2 border-right-0 border " type="text" name="" value="" placeholder="Container Name" name="container_name"/>
<span class="input-group-append">
<div class="input-group-text bg-transparent"><i class="fa fa-search"></i></div>
</span>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">Search</button>
</form>
#url.py
路径(“”,SampleFliterView,name='SampleFliterView'),
#views.py
def SampleFliterView(请求):
qs=Sample.objects.all()
sample\u number\u query=request.GET.GET('sample\u number')
container\u name\u query=request.GET.GET('container\u name')
如果容器名称查询!=''并且容器名称查询不是无:
qs=qs.filter(示例\u编号\u icontains=container\u名称\u查询)
上下文={
“queryset”:qs
}
返回呈现(请求“container/filter.html”,上下文)
#html模板
搜索
您在输入中获得了两次name=”“
。删除空白的,它将按预期工作