from django.views.decorators.csrf import csrf_view_exempt from django.middleware.csrf import CsrfViewMiddleware # Function to check CSRF on demand (use {% csrf_token %} in your forms as usual) def facebook_csrf_check(request): return CsrfViewMiddleware().process_view(request, facebook_csrf_check, None, None) == None # Your canvas view @csrf_view_exempt def facebook_canvas(request): if is_valid_access_token(request): # check whether a correct access_token presents # do something print 'CSRF ' + str(facebook_csrf_check(request)) # facebook_csrf_check == True means CSRF is OK