首页 > 解决方案 > html 中的 if 语句(基于搜索查询)

问题描述

我有一个显示一些内容的页面,但我想在 serach 查询后删除内容并显示结果。我认为应该有两个 if 语句,一个用于当前内容(如果不搜索显示此内容),另一个(如果搜索显示其他内容并隐藏以前的内容)。

视图.py

def HomeView(request):
  item_list = Item.objects.all()
  query = request.GET.get('q')
  if query:
    item_list = Item.objects.filter(title__icontains=query)
  paginator = Paginator(item_list, 10)

  page = request.GET.get('page')

  try:
      items = paginator.page(page)
  except PageNotAnInteger:
      items = paginator.page(1)
  except EmptyPage:
      items = paginator.page(paginator.num_pages)

  context = {
      'items': items

  }
  return render(request, "home.html", context)

我必须在 html 模板中放入什么才能使其正常工作?

做了这样的事情,但不起作用:

class BikeView(ListView):
  model = Item
  paginate_by = 10
  template_name = "bikes.html"

  def search(request):
      query = request.GET.get('q')
      if query:
          item_list = Item.objects.all()
          item_list = Item.objects.filter(title__icontains=query)
          context = {
              'items': item_list
          }
          return render(request, "bikes.html", context)

标签: pythonhtmldjango

解决方案


推荐阅读