0

我的侧边菜单顶部有一个搜索框。此搜索栏搜索所有视图(任务、列表和信息)。结果显示在这三个类别中,但默认情况下会折叠列表和信息以使视图更易于阅读。

相反,我想确定用户用于搜索的侧边菜单,并在返回结果时折叠其他两个类别。

因此,如果用户正在查看任务,搜索结果会列出任务,但返回列表和信息结果会折叠。如果用户在列表中使用搜索框,结果将列出列表项,但会折叠任务和信息。

相同的函数用于处理所有搜索结果:

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 或其他模板变量与此表单提交一起传递,以便在搜索功能中获得一些可用的模板信息? 然后,这将允许我将信息传递给搜索结果,告诉模板要折叠哪些类别。

4

1 回答 1

0

最简单和最简单的方法是使用单独的按钮。如果您为每个视图命名,并且在特定视图处于活动状态时仅显示适当的视图,则您可以根据 POST 中按钮名称的存在来判断哪个视图处于活动状态。

唯一的其他途径是创建一个隐藏字段,并在视图更改时使用 JavaScript 适当地设置该字段的值。

于 2012-08-29T18:22:16.017 回答