Exclude API calls from CSRF middleware.

Starting from django 1.2, the CSRF middleware is enabled by
default. However, API calls require parameters passing by POST
requests but they cannot be served as they can't contain a CSRF
token.

This patch removes the CSRF middleware from API requests.
This commit is contained in:
Ivan Giuliani 2012-01-15 11:38:28 +01:00
parent 533fdc8c2a
commit dc76854667

View File

@ -20,6 +20,7 @@ from django.http import HttpResponse
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template import loader, Context from django.template import loader, Context
from django.utils import simplejson from django.utils import simplejson
from django.views.decorators.csrf import csrf_exempt
from helpdesk.forms import TicketForm from helpdesk.forms import TicketForm
from helpdesk.lib import send_templated_mail, safe_template_context from helpdesk.lib import send_templated_mail, safe_template_context
@ -33,6 +34,7 @@ STATUS_ERROR_PERMISSIONS = 403
STATUS_ERROR_BADMETHOD = 405 STATUS_ERROR_BADMETHOD = 405
@csrf_exempt
def api(request, method): def api(request, method):
""" """
Regardless of any other paramaters, we provide a help screen Regardless of any other paramaters, we provide a help screen