質問: いつもお世話になっております。下記質問です。 ### 分からないこと HttpResponseRedirectを使うメリットにイマイチ納得できていません。 リダイレクトを使う場面として、URLが変わっただとか、ページが消えてしまった時本来繋ぎたいページにリダイレクトをかけたいだとか、そういうのはわかるのですが、例えば下記のような場面で使われることには疑問があります。 #### よく分からない使い方 **●フォームを送信した後リダイレクトをかける** 例えばdetail.htmlというファイルがあり、それはformを持っています。 formのsubmit先はdetail.html自身であり、detail.htmlに対応するview関数の中でHttpResponseRedirectでlist.htmlとかに繋げるとします。 ![イメージ](https://teratail.storage.googleapis.com/uploads/contributed_images/257f2ae20de8d21788b8f2390c3bccb2.jpeg) この時、やり方は別に二つあると思います。 **1submit先を最初からlist.htmlにする** リダイレクトなんてせず、最初からlist.htmlにpostしてしまえば良いのではないかと思います。 **2HttpResponseRedirectではなくTemplateResponseにする** リダイレクトをせずとも、TemplateResponseで意図通りのhtmlファイルを表示することは可能です。 以上のことを考えると、なんであえてリダイレクトを使うのかよく分かりません。 それともwebの慣習として、こういう時はリダイレクトするだとか、POSTは自身に対して送るべきだとか、そういうものがあるのでしょうか? もしそうなら、どんなルールに従ってコードは書かれるべきなのでしょうか? 何か参考になる書籍などありましたらご教授ください。 以上、よろしくお願いします。
回答: リダイレクトせずに送信先で直接表示を行った場合、**リロード**をかけると再送信扱いとなってしまいますが、送信先からリダイレクトして別ページを表示した場合は、リロードしてもそのページをただ再読込するだけで、再送信などの煩雑な事態が生じない、というメリットがあります。