如何在新页面中显示 django 搜索结果

Posted

技术标签:

【中文标题】如何在新页面中显示 django 搜索结果【英文标题】:how to display django search result in new page 【发布时间】:2022-01-18 18:20:08 【问题描述】:

我想在新的 html 页面而不是搜索栏所在的页面上显示我的 django 搜索结果。我已经尝试操作我的表单标签,但当我搜索时它仍然不会重定向到页面,而是停留在同一页面上。

index.html

<form action="% url 'elements:all-elements' %" method="get">
  <input type="text" class="form-control" name="q" value=" request.GET.q " type="text" placeholder="Search Free Web Elements and Resources">
  <button type="submit" class="btn bt-round" ><b><i class="bi bi-search"></i></b></button>
</form>

views.py - 这是处理搜索的视图,我不知道是否会在此处附加任何内容

# Search Function
    query = request.GET.get("q")
    if query:
        vectors = vectors.filter(
            Q(title__icontains=query)).distinct()

【问题讨论】:

【参考方案1】:

您可以为搜索结果呈现新模板。


def search(request):
    query = request.GET.get("q")
    vectors = Model.objects.all()
    if query:
       vectors = vectors.filter(
            Q(title__icontains=query)).distinct()
    context = "vectors":vectors
    return render(request,  "template",  context)

【讨论】:

感谢您的回复,但我希望搜索栏出现在我的主页中。我希望你明白。然后,如果我搜索它会带我到一个新页面来显示结果 这就是为什么您应该使用搜索功能渲染到新模板。 好的,谢谢,现在可以使用了

以上是关于如何在新页面中显示 django 搜索结果的主要内容,如果未能解决你的问题,请参考以下文章

Ajax/jquery 结果不显示在 iframe 中。改为在新页面中显示

在 Django/PostgreSQL 搜索结果页面上突出显示搜索词

如何在新视图中显示 UISearchController 结果而不显示 tableView 的背景?

通过 REST API 检索结果并将其显示在新活动的列表视图中(列表视图出现小问题)

如何在 django 中显示来自 ajax 搜索结果的产品?

什么时候应该在新标签/窗口中打开链接?