【发布时间】:2022-01-09 09:14:40
【问题描述】:
我想在导航栏中创建一个搜索框并显示我搜索的食物,但它似乎无法正常工作。我找不到问题出在哪里;我的意思是,如果我搜索一种存在的食物,它什么都不会显示。
我的views.py 文件:
class SearchResultsView(ListView):
model = Food
template_name = "restaurant/food_search_results.html"
context_object_name = "data"
def get_queryset(self):
query = self.request.POST.get("search")
if query is not None:
return Food.objects.filter(name__icontains=query)
else:
return
我的 urls.py 文件:
path("search", SearchResultsView.as_view(), name='search_results'),
我的 base.html 文件:
<form class="form-inline my-2 my-lg-0" action="/search" method="get">
{% csrf_token %}
<div class="input-group">
<label>
<input name="search" type="text" class="form-control" placeholder="Search Foods ...">
</label>
<div class="input-group-append">
<a class="btn btn-outline-warning" href="{% url 'search_results' %}" type="submit" >Search</a>
</div>
</div>
</form>
【问题讨论】:
-
什么不起作用?
-
@WillemVanOnsem 我的意思是,如果我搜索一种存在的食物,它什么也不会显示,当我打印查询时它会打印 None。
标签: django search django-queryset