私はこれを理解したと思っていましたが、奇妙なことを発見しました。
私が持っているURLで
url('^page_1/$', handle_page_1),
url('^page_2/$', handle_page_2),
url('^.*/$', handle_page_not_found),
handle_page_not_found()
URL が認識されない場合、ユーザーを適切にリダイレクトします。
それはうまくいきますが、奇妙なことを発見しました。
関数が返される場合
return HttpResponse("ok")
その後、「ok」が返され、すべて正常に動作しているように見えます。しかし、それhandle_page_not_found()
が呼び出されていることもわかりました(printステートメントでテストしました)。返されるのはまだ「OK」ですが、最初に のコードを実行していますhandle_page_not_found()
。
では、認識されていない URL に対して呼び出されるが、HttpResponse
オブジェクトによって呼び出されない関数を作成するにはどうすればよいでしょうか?
編集:答えに基づいて、特別なテスト状況を除いて、私のコードは実際には問題ないことがわかりました。HttpResponse が ajax 呼び出しに返される限り、それはすべて問題ありません (これは私が通常使用する場合です)。