リクエストメソッドのみを使用したいビュー機能がPOSTです。ここでrequire_POSTデコレータについて知りましたが、メソッドがPOSTでない場合は、を使用してユーザーを別のビューにリダイレクトする必要がありますHttpResponseRedirect
。これどうやってするの ?
from django.views.decorators.http import require_POST
@require_POST
def my_view(request):
# I can assume now that only POST requests make it this far
# ...
メソッド自体でrequire_POSTリダイレクトを使用せずに、2行のコードを追加することでそれを実行できることを私は知っています
if request.method != 'POST':
return HttpResponseRedirect(view_url)
しかし、私はデコレータ自体を使用することにもっと興味があり、このデコレータが 405 を上げると、別のビューにリダイレクトします。