すべてのDjangoリバース例外をキャッチして、500ではなく404を発生させるかどうかを検討しています。
この質問は次のようなものです: NoReverseMatchの代わりにDjangoのリバースとURLのデフォルト
たとえば、Djangoのネイティブログインデコレータを模倣した認証アプリがあるとします。ビューが装飾されていて、ユーザーが認証されていない場合、ユーザーは最初にログインページにリダイレクトされます。
デコレータ内でreverse('login')呼び出しがあります。urlsconfで提供されているURL名を「my_login」に変更することにしましたが、意図せずにデコレータを更新するのを忘れたとしましょう。
これは404または500エラーである必要がありますか?例外を処理するための合理的なフォールバックがないため、私は500に傾くでしょう。リダイレクトは内部であり、リソースは存在します。私はある種の「タイプミス」を作成しました。
各リバースコールを試して/除外することは、NameErrorsとSyntaxErrorsのキャッチに向けて微妙な流れをたどっているようです。
ご協力いただきありがとうございます。