在django中未调用get\u query\u set(self)
我正在Django中使用TemplateView实现搜索函数在django中未调用get\u query\u set(self),django,Django,我正在Django中使用TemplateView实现搜索函数 class part_search_view(TemplateView): model = part_list context_object_name = 'part_list' template_name = 'part_list.html' def get_context_data(self, **kwargs): context = super(part_search_view,
class part_search_view(TemplateView):
model = part_list
context_object_name = 'part_list'
template_name = 'part_list.html'
def get_context_data(self, **kwargs):
context = super(part_search_view, self).get_context_data(**kwargs)
context['my_list'] = populate_nav_bar()
return context
def get_queryset(self):
key = self.request.GET['search_text']
partlist = part_list.objects.filter(Q(part_id__icontains=key) | Q(part_name__icontains=key))
return partlist
part_list.html
serch按钮的表单
<form action="{% url 'parts:part_search_view'%}" role="form" class="navbar-form navbar-left" method="get" >
{% csrf_token %}
<div class="form-group ">
<input class="form-control mr-sm-2" type="text" placeholder="Search" name="search_text">
<button class="form-control search_buton btn btn-success " type="submit" >Search</button>
</div>
</form>
但是这里不调用get_查询集(self)但是调用get_上下文数据(…),为什么 TemplateView对queryset一无所知,所以他们从不调用
get\u queryset
方法。您应该为一个更合适的视图(可能是ListView)创建子类。TemplateView对查询集一无所知,因此它们从不调用get\u queryset
方法。您应该为一个更合适的视图(可能是ListView)创建子类。如果您查看文档,则没有方法get\u queryset()
。然后,您必须在视图中手动调用它。如果您查看文档,则没有方法get\u queryset()
。然后,您必须在视图中手动调用它。我们可以使用listview URL来获得除URL映射之外的其他参数,就像我在这里使用的一样是的。你可以在你喜欢的任何视图中拥有任何参数。我们可以使用listview URL来拥有除URL映射之外的其他参数吗,就像我在这里使用的一样是的。您可以在任何视图中使用任何参数。
url(r'^search/',views.part_search_view.as_view(),name='part_search_view'),
<form action="{% url 'parts:part_search_view'%}" role="form" class="navbar-form navbar-left" method="get" >
{% csrf_token %}
<div class="form-group ">
<input class="form-control mr-sm-2" type="text" placeholder="Search" name="search_text">
<button class="form-control search_buton btn btn-success " type="submit" >Search</button>
</div>
</form>
http://127.0.0.1:8000/parts/search/?csrfmiddlewaretoken=PWjEw1hRsyH9B6YcseVuhS0urX8L7f170q9ucLF9hTPQPThulpgMSP4y5xhScCVr&search_text=mp6