サイドメニューの上部に検索ボックスがあります。この検索バーは、すべてのビュー (タスク、リスト、および情報) を検索します。結果はこれら 3 つのカテゴリにわたって表示されますが、ビューを読みやすくするために、リストと情報はデフォルトで折りたたまれています。
代わりに、ユーザーが検索に使用したサイド メニューを特定し、結果を返すときに他の 2 つのカテゴリを折りたたみます。
そのため、ユーザーがタスクを見ている場合、検索結果にはタスクがリストされますが、返されるリストと情報の結果は折りたたまれていました。ユーザーがリストで検索ボックスを使用した場合、結果にはリスト項目がリストされますが、タスクと情報は折りたたまれます。
同じ関数を使用して、すべての検索結果を処理します。
def search(request):
query_string = ''
search_results = SortedDict([])
if ('q' in request.GET) and request.GET['q'].strip():
query_string = request.GET['q']
entry_query = get_query(query_string, ['name', 'notes',])
getquery() はデータベースで query_string を検索します
この関数はテンプレートから呼び出されます。
<form method="get" action="{% url search %}" style="display:inline;" >
<input name="q" class="span9" value="{{ request.GET.q }}" id="appendedInputButton" size="16" type="text">
<button class="btn" type="submit">
<i class="icon-search" title="Search"></i>
</button>
</form>
検索機能でテンプレート情報を利用できるように、このフォームの送信とともに現在の URL またはその他のテンプレート変数を渡すにはどうすればよいですか? これにより、折りたたむカテゴリをテンプレートに伝える情報を検索結果に渡すことができます。