@csrf _exempt перестал работать в Django 1.4

У меня есть следующий код, который отлично работал в Django 1.2.5:

from django.views.decorators.csrf import csrf_exempt

class ApiView(object):
    def __call__(self, request, *args, **kwargs):
        method = request.method.upper()
        return getattr(self, method)(request, *args, **kwargs)

@csrf_exempt
class MyView(ApiView):

    def POST(self):
       # (...)
       return HttpResponse(json.dumps(True), mimetype="text/javascript")

Но когда я обновился до Django 1.4, я начал получать 403 запрещено с сообщением «Ошибка проверки CSRF».

Почему этот декоратор исключений @csrf _не работает?

Определение URL::

from django.conf.urls.defaults import *
from django.views.decorators.csrf import csrf_exempt

import views

urlpatterns = patterns('',
   url(r'^myview/(?P<parameter_name>[A-Za-z0-9-_]+)/$',
       views.MyView(),
       name="myproject-myapp-myview",
       ),
)
16
задан Srikar Appalaraju 28 December 2012 в 17:46
поделиться