我正在尝试在 django 中实现搜索功能,该功能根据字符串过滤记录列表,与django admin list filtering
但是在这里我们不会from the database
根据从搜索表单中获得的查询字符串来过滤结果,而是我们需要filter from the list
我已经有了
视图.py
def filter_contacts(request):
contacts = ['None <steve.one@gmail.com>', 'None <ronold@gmail.com>',
'None <jacksparrow@gmail.com>', 'None <dude@gmail.com>' ...... up to more than 1000]
if request.GET:
if request.GET.has_key('q'):
contacts = **filter the contacts from the above list that contains query string "q" and create a new list**
else:
contacts = contacts
return render_to_response('social_feeds/gmail_contacts.html', {'contacts':contacts})
search_form 类似
<form class="form-search" action="{% url 'contacts' %}" method="get">
<div class="input-append">
<input type="text" class="span2 search-query" name="q" value="" id="searchbar">
<button type="submit" class="btn btn-primary" value="Search">Search</button>
</div>
</form>
当然,我们可以query string
从列表中过滤looping
并搜索列表中每个字符串中的字符串,如果它创建了一个新列表,
但是因为/假设我们有超过 1000 个字符串(电子邮件可能如上所述),这个过程应该very/ultimately
很快,所以寻找functionality/process/method
基于query paramerter
类似假设非常快速过滤列表的
如果我们用 搜索表单steve
,所有strings/emails
包含的内容steve
都应该被过滤到一个新列表中,这就是我要找的
谁能让我知道如何快速实现搜索功能?