基于Django标签/关键字的搜索

时间:2017-12-28 18:25:23

标签: python django database search

我正在学习Django建立一个带搜索引擎的网站。我只找到了全文搜索的文档。但是,我正在尝试实施基于关键字/标签的搜索,我将其添加到每个项目中。

例如,如果用户搜索肉类,则会弹出所有肉类产品,如鸡肉,牛肉,火腿。项目也可以有多个关键字。

那么我该如何实现这样的东西;有没有我可以使用的工具或应用程序?我也想要一个文档的链接。

1 个答案:

答案 0 :(得分:0)

过滤可以这样完成:

.filter(tags__icontains=data) 

__icontains就是你想要的东西

这是一个简单的教程:)

首先让我们创建你在其中输入搜索关键字的html输入。

<form action="/search/">
<label for="search"></label>
<input type="text" name="q" id="search">
<button type="submit">Search!</button>
</form>

现在这会将用户数据发送到将处理它的视图,所以让我们创建它

首先是

网址:

url(r'^search/', views.search)

查看:

def search(request):
    data = request.GET.get('q')
    return render(request, 'path-to-template-that-will-show-the-search-result', {'objects': YourModel.objects.filter(YourTagField__icontains=data)})

结果模板应该是这样的:

<ul>
{% for obj in objects %}
<li>{{obj.some_title_field}}</li>
{% endfor %}
</ul>

希望它可以帮助你:)

相关问题