2011-09-13 13 views
0

ほとんどの私のページが継承するbase.htmlがあります。その内部には、検索ボックスを含むヘッダーが定義されています。検索ボックスのコードは、次の行に沿ったものです。djangoフォーム - フォーム要求関数を再利用

if request.method == 'POST': 
    if 'search_button' in request.POST: 
     location = request.POST['location'] 

     # Do something with location here and redirect to another page... 

     return HttpResponseRedirect('/lostandfound') 

私はいくつかの質問があります。まず第一に、このコードを毎回書き直すことなくこのコードが他のすべてのビューに収まるようにするにはどうすればよいでしょうか?これはあまり乾燥しません!!

また、別のページにリダイレクトして変数 'location'を渡すにはどうすればよいですか? HttpResponseRedirectはそれを行う正しい方法ではありません私は確信しています!

答えて

2

検索フォームを独自の検索ビューにPOSTし、そのページに結果を表示する必要があります。

+0

ビューには関連付けられたURLが必要ですか、それとも単にスタンドアロンの関数defである可能性がありますか?また、結果を別のビューに渡したいと思っています。 – Ferguzz

+0

はい。あなたの検索ビューを指し示す新しいURLを '/ search /'(またはそれに類似したURL)に作成し、それを 'POST 'します。 – sdolan

関連する問題