2011-07-12 26 views
0

私はDjangoで検索メカニズムを実装しようとしていますが、これを実行する最良の方法は何か分かりませんでした。検索オプションに応じて異なるビューを持つDjango検索メカニズム

私はseacrhパラメータとしてコンボボックスとテキストボックスを持っています。コンボボックスには "A"と "B"の2つのオプションがあり、そのオプションに応じて異なるビューを実行する必要があります。

しかし、min-max length of textboxのようなこれらの2つのオプションの共通プロパティがあるので、私は検索ボタンをクリックしたときに、一般的なsearch viewに行き、テキストボックスが検証された後、コンボボックスの適切なページのオプションは、要求された適切なページにリダイレクトする必要があります。

メイン/ views.py

def search(request): 
if request.method == 'POST': 
    type = request.POST['searchType'] 
    searchvalue = request.POST['searchvalue'] 
    if len(searchvalue) > 200: 
     return render_response(request, 'search/error.html', {'message':'bidi'}) 

    if type == 'A': 
     return redirect('/A/search/') 
    elif type == 'B': 
     return redirect('/B/search/') 
    else: 
     return render_response(request, 'search/error.html', {'message':'errormessa'}) 

A/views.py

def search(request): 
... 

しかしB/views.py

def search(request): 
... 

、あなたのように参照してください、whi私はview Aまたはview Bにリダイレクトします。ポストパラメーターとしてsearchvalueを渡す必要がありますが、できませんでした。

さらに、このような検索を行うためには、私の構造が適切で安全な方法であるのだろうか?そのような検索を実装する最良の方法は何ですか?

おかげ

答えて

0

JavaScriptを知っている場合は、JavaScriptから(フォーム提出?)検索を行います。したがって、基本的にユーザーが選択した内容を確認し、エンドポイントを適切に選択します。

関連する問題