2012-06-27 90 views
0

在我的首頁我有一個簡單的搜索表單。用戶可以輸入一些過濾器,並在下一步的搜索結果在新頁面上diplayed =>這一切工作:Django - 通過預填充值的搜索表單精煉搜索結果

下面的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頁面?我怎樣才能做到這一點?我怎麼能把這些值作爲默認的形式?也許我會以某種方式過度這種想法,但是現在我看不到一個好的解決方案。

任何反饋,方向非常感謝!

謝謝!

回答

0

難道你不能讓你的上下文字典{'results': results, 'form': form}?這將使表單再次與之前發佈的數據綁定到表單。

+0

嗨本,謝謝你的回答。你是完全正確的。一個簡單而乾淨的解決方案(當然,我已經坐在電腦後面思考一個清晰的頭腦)。謝謝!親切的問候。 –