from django.http import HttpResponseNotAllowed def my_view(request): if request.method != 'POST': return HttpResponseNotAllowed('Only POST here') # decorators def post_only(func): def decorated(request, *args, **kwargs): if request.method != 'POST': return HttpResponseNotAllowed('Only POST here') return func(request, *args, **kwargs) return decorated def get_only(func): def decorated(request, *args, **kwargs): if request.method != 'GET': return HttpResponseNotAllowed('Only GET here') return func(request, *args, **kwargs) return decorated