で始まるPOSTリクエストのみを処理することを目的としたビューがあります
user = User.objects.get(username=request.POST['name'])
ビューがGETリクエストで呼び出されないようにする必要がありますか?私が良い習慣/セキュリティタイプのものについて考えているのか、それともOCDであることを考えているのかわかりません。
@require_POST
GETを使用してビューを呼び出す"Key 'name' not found in <QueryDict: {}>
と、500エラーが発生するため、デコレータを使用しています。
これが発生する唯一の可能性は、ユーザーがページのHTMLを見て、何らかの理由action
でアドレスバーのフォームの属性を試してみようと思った場合です。これはありそうもないようです。
私はいくつかのサイトでこれを自分で試しましたが、405エラーのある空白のページではなくエラーページが表示され@require_POST
ました。
テンプレート設計者が誤って私のビューへのハイパーリンクを作成したり、忘れたりした場合に備えて、GETリクエストを防ぐことをお勧めしmethod="post"
ます。(その場合、私はget_object_or_404
上記を使用する必要があると思います)
@require_GET
GETリクエストを処理するためだけに設計されたビューに追加する必要はないと思いますか?