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