Django - 通过具有预填充值的搜索表格优化搜索结果

时间:2012-06-27 21:53:18

标签: python django django-forms django-views

在我的主页上,我有一个简单的搜索表单。用户可以输入一些过滤器,并在下一步骤中将搜索结果显示在新页面上=>这一切都有效:

以下是view.py的简化版本:

def search(request):
    form = SearchForm()
    if request.method == 'POST':
        form = SearchForm(request.POST)
        results = search(form)
        return render_to_response('search_results.html',{'results': results},context_instance = RequestContext(request))
    else:
        form = SearchForm()
    return render_to_response('search.html',{'form': form},context_instance = RequestContext(request))

现在问题: 在下一步中,我想在search_result.html页面中添加相同的搜索表单。目的是用户可以使用该搜索表单来优化搜索结果。在理想的世界中,search_results.html上的搜索表单已经预先在search.html中输入了过滤器。

我正在努力解决这个问题。我应该将原始输入的过滤器作为列表传递到search_result.html页面吗?我怎样才能做到这一点?我如何将这些值作为默认值放在表单中?也许我会以某种方式过度思考,但此时我看不到一个好的解决方案。

任何反馈,指示都非常感谢!

谢谢!

1 个答案:

答案 0 :(得分:0)

你难道不能让你的背景dict {'results': results, 'form': form}吗?这将使表单再次可用,之前发布的数据已绑定到表单。