1

解決ドキュメントの最後にあるコード例について混乱しています(「ビューにリダイレクトする前に、ビューでHttp404エラーが発生するかどうかをテストしてください」)。誰かがこのコードについて説明することができます-それが何をしているのか、そしてそれがどのように機能するのですか?私は何が起こっているのか見当がつかない。

たとえば、ビューを呼び出して404をスローするかどうかをテストする必要があるのに、resolveそれ自体がスローできるのはResolver404なぜですか。コードがview関数を呼び出すと、キーワード引数を介してリクエストを送信しますが、その前に他の引数を指定します。しかし、ビューをrequest最初の引数として取得するべきではありませんか?リファラーヘッダーが使用されているのはなぜですか?

ありがとう

4

1 に答える 1

1

Resolver404パスが URL/View 関数に解決されない場合にのみスローされます。

ビュー関数自体は、不正な ID などの入力パラメーターに応じて 404 を発生させる可能性があります。

2つの問題があります:

  • 正規表現 URL の一致を正常に解決する'^/(?P<foo>\d+)\d/$'
  • パラメーターを指定したビュー関数でfoo404 が発生しないことを確認します。

この例でrequestは、最初の引数にする必要があります。URL *args(名前のない正規表現の一致) がある場合、通常は最初の引数であるため、request が 2 回追加されます。おそらく、例のバグですか?

于 2012-10-13T21:23:58.797 に答える