@csrf_exempt funktioniert nicht mehr in Django 1.4
Ich habe den folgenden Code, der in Django 1.2.5 einwandfrei funktioniert hat:
<code>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") </code>
Aber als ich auf Django 1.4 upgegradet habe, bekam ich eine verbotene 403 mit der Meldung "CSRF-Überprüfung fehlgeschlagen".
Warum funktioniert der Dekorator @csrf_exempt nicht?
Die URL-Definition lautet:
<code>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", ), ) </code>