2017-12-28 27 views
1

私は検索エンジンでウェブサイトを構築するためにDjangoを学んでいます。私は全文検索のための文書しか見つけられませんでした。しかし、私は各項目に追加するキーワード/タグベースの検索を実装しようとしています。Djangoタグ/キーワードベースの検索

たとえば、ユーザーが肉を検索すると、鶏肉、牛肉、ハムなどの肉製品がすべてポップアップします。アイテムは複数のキーワードを持つこともできます。

どのように私はそのようなものを実装しますか?私が使用できるツールやアプリはありますか?私はドキュメンテーションへのリンクも大好きです。

+0

kefekのbassamを:)役に立てば幸い、これはあまりにも簡単です、あなただけのビューおよびHTMLフォームがこれを達成する、余分なアプリやツールは必要ありません:)私の答え –

+0

を参照してくださいさようならあなたはオートコンプリート検索を望むかもしれません。[read](http://setthecode.pythonanywhere.com/post?id=18) –

答えて

0

フィルタリングは次のように行うことができます。

.filter(tags__icontains=data) 

__icontainsはあなたがここに

のためにlokingているものですが、簡単なチュートリアル:)

である第一あなたのHTML入力を作成することができます検索キーワードを入力します。

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)}) 

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

は今、これはそれを最初

URLを作成することができ、それを処理するビューにユーザデータを送信します結果テンプレートは次のようになります。

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

それはあなたが

関連する問題