DjangoのviewでアクセスできるHTTPメソッドを限定する
require_GETやrequire_POSTというデコレータが用意されているのでそれが使えます。
from django.views.decorators.http import require_POST, require_GET @require_GET def get_only(request): pass @require_POST def post_only(request): pass
もっと柔軟に指定したい場合はrequire_http_methodsが使えます
from django.views.decorators.http import require_http_methods @require_http_methods(["GET", "POST"]) def my_view(request): pass
Django 1.4からはrequire_safeというデコレータも追加されました
これはGETとHEADのみ許可します
from django.views.decorators.http import require_safe @require_safe def safe_view(request): pass
参考)
https://docs.djangoproject.com/en/dev/topics/http/decorators/#allowed-http-methods