2016-09-09 7 views
0

私は現在、フォームデータをGETリクエストに渡す私のプロジェクト内に動作する検索フォームを持っています。かなり標準。 私がしたいことは、データが検索フォームに入力されると検索が行われるため、検索結果にリアルタイムで検索データが表示されるようにすることです。これは、Googleがインスタントデスクトップの結果と同じようなものです。これはDjangoで可能なことですか?あなたがセッションにrequest.dataを保存することができますし、任意のデータはセッション検索データに関連付けられている場合は、値に置くことができます入力としてDjangoの検索が入力されました

<!-- HTML --> 
    <!-- SEARCH BAR --> 
<form class="navbar-form navbar-left" role="search" method="get" action="{% url 'mycollection:products' %}"> 
    <div class="form-group"> 
     <input type="text" class="form-control" name="q" value="{{ request.GET.q }}"> 
    </div> 
    <button type="submit" class="btn btn-default">Search</button> 
</form> 
+0

あなたはユーザーの種類として意味ですか – denvaar

+1

これは当然可能です。しかし、私の解決策は、Javascriptの質問のほうがはるかに聞こえます。 Javascriptがブラウザに返す検索結果のjsonオブジェクトを返すエンドポイントにAjax呼び出しを行うことができる、動作中のJavascriptユーティリティが必要です。問題は、「方法」がサイトのフロントエンドアーキテクチャに大きく依存する非常に複雑な答えであることです。 –

+0

はい、denvaar、私はGETリクエストなしでこれを行うことを検討しています。 Brewmaster、私はJavascriptにあまり熱心ではありませんが、それはもっと関わっていく必要があります。あなたが私のニーズに合わせて試してみることができることを言及しているものの実装例がありますか? – csling

答えて

0

- 以下 は私の現在の(簡単な)検索

#views.py 
def ProductView(request): 
title = 'Products' 
all_products = Product.objects.all().order_by("product_Name") 
query = request.GET.get("q") 
if query: 
    products = all_products.filter(
     Q(product_Name__contains=query) | 
     Q(manufacturer__contains=query) 
    ).distinct() 
    return render(request, 'mycollection/details.html', { 'all_products' : products }) 

です検索ボックスの

request.session['search'] = request.GET.get('q','') 

templete:(。?GETリクエストが送信される前にIE) "をリアルタイムで表示" とは、

{% if request.session.search %} {{request.session.search}} {% endif %} 
関連する問題