【发布时间】:2021-06-18 02:55:39
【问题描述】:
我一直在使用 django 中的搜索栏,我很接近但在将结果呈现到页面时遇到了一些问题。
Views.py
class SearchResultsView(ListView):
model = Project
template_name = 'search_results.html'
def get_queryset(self):
proj=self.request.GET.get('proj')
proj_list=Project.objects.filter(
Q(name__icontains=proj) | Q(projectTag__icontains=proj)
)
proj_list1=Project.objects.filter(
Q(department__icontains=proj)
)
proj_list2 = list(set(proj_list) & set(proj_list1))
return proj_list2
class SearchPageView(TemplateView):
template_name = 'searchbar.html'
search_results.html
{% extends 'main/base.html' %}
<html>
{%block content%}
<h1> Search Results </h1>
{% if proj %}
<ul>
{% for project in proj_list2%}
<li>
{{project.name}}, {{project.department}}, {{project.projectTag}}
</li>
{% endfor %}
</ul>
{% else %}
<h2>sorry, no results</h2>
{% endif %}
{%endblock%}
</html>
每当我搜索肯定会产生结果的内容时,我都会收到“抱歉,没有结果”。
谢谢。请帮助我了解我的断开连接。更大的目标是添加不同的模型来查询(即不仅在项目中搜索,还可以按用户搜索)。
【问题讨论】:
-
{% if proj_list2 %} -
但是搜索很奇怪,你只返回匹配both部门和名称或标签的项目?
标签: html django view searchbar