【发布时间】:2019-09-29 08:48:43
【问题描述】:
我刚刚完成了一个用户可以搜索城市的教程,但可以只输入一个城市。如果我想同时搜索奥斯陆,布达佩斯是不可能的。你知道我可以添加什么来改变它吗?
观看次数:
from django.views.generic import TemplateView, ListView
from django.db.models import Q
from .models import City
class HomePageView(TemplateView):
template_name='home.html'
class SearchResultsView(ListView):
model = City
template_name = 'search_results.html'
def get_queryset(self):
query = self.request.GET.get('q')
object_list = City.objects.filter(
Q(name__icontains=query) | Q(state__icontains=query)
)
return object_list
TEMPLATE:
<h1>Search Results</h1>
<ul>
{% for city in object_list %}
<li>
{{ city.name }}, {{ city.state }}
</li>
{% endfor %}
</ul>
【问题讨论】: