【发布时间】:2012-08-24 10:08:40
【问题描述】:
我的侧边菜单顶部有一个搜索框。此搜索栏搜索所有视图(任务、列表和信息)。结果显示在这三个类别中,但默认情况下会折叠列表和信息以使视图更易于阅读。
相反,我想确定用户用于搜索的侧边菜单,并在返回结果时折叠其他两个类别。
因此,如果用户正在查看任务,则搜索结果会列出任务,但返回列表和信息结果会折叠。如果用户在列表中使用搜索框,结果将列出列表项,但会折叠任务和信息。
同一个函数用于处理所有的搜索结果:
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() 在数据库中搜索查询字符串
这个函数是从模板中调用的:
<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 或其他模板变量与此表单提交一起传递,以便我在搜索功能中获得一些可用的模板信息? 这样我就可以将信息传递给会告诉模板哪些类别要折叠的搜索结果。
【问题讨论】:
-
在您的搜索表单中添加一个隐藏输入来标识调用它的视图是否可行? (例如 )
-
尝试获取参数。 action="{% url 搜索 %}?param1={{val1}}¶m2={{val2}}"
标签: python django forms django-templates