2016-09-28 3 views
0

今すぐ。私はアイテムIDを検索するために私のページに検索機能を持っています。検索をクリックすると、同じページに結果項目と表示項目が表示されます。また、アイテムIDを表示する他のページでは、そのIDを検索する同じページに移動するためのIDへのリンクを追加したいと考えています。Djangoはページを作成してフォームを送信するようにリダイレクトしますか?

例:同じページが欲しいとき: 1.検索ページで123を入力してください(私の検索では完全一致のみ受け付けます)。 2.他のページで[123]をクリックし、結果の検索ページ

私はこれをどのように達成しなければならないのですか。

+2

あなたが試したことを示すコードを表示して、われわれが望むものをよりよく理解してください。 – Jacobr365

+0

私はすべてのコード変更を記録しません。 –

+0

javascriptを使ったPOSTメソッドを使ってハイパーリンクを作って解決しました。それは最良の解決策ではないかもしれませんが、私の問題を解決します。 –

答えて

0

HTMLフォームで提供されるGETメソッドを使用する必要があります。最初のページから検索を実行するときは、フォームのGETメソッドを使用して検索を行う必要があります。これにより、フォームデータがURLに追加されます。

など。あなたのフォームに 'John'が入力された '名前'フィールドがある場合。このフォームの提出はそうのようなURLを構成します:あなたはおそらく、あなたの検索結果を表示するために、既に似た何かをやった

name = request.GET['name'] 

http://someurl.com/?name=John 

これは、Djangoのリクエストオブジェクトを使用してアクセスすることができます。したがって、GETリクエスト変数を追加した検索ページにリダイレクトするリンクを2ページ目に作成するだけです。

など。

<a href="{% url 'search_page' %}?searchterm=232> Item 232 </a> 
+0

POSTメソッドを使用して元の検索を維持する方法はありますか?今私の考えは、それを捕まえて検索ページにリダイレクトするための別の新しいURLを使用して、検索ページに呼び出しがあるかのようにしています。 –

+0

扱う情報が機密でない場合は、GETでフォームを使用することを強くお勧めします。 GETとPOSTの違いを確認するには、次のリンクを参照してください。 http://www.w3schools.com/tags/ref_httpmethods.asp – zubhav

関連する問題