Я считаю, что вы должны обернуть его внутри method_decorator
Попробуйте
class MailView(View):
@method_decorator(csrf_exempt))
def dispatch(self, *args, **kwargs):
return super(MailTrackingView, self).dispatch(*args, **kwargs)
Вы также можете сделать:
@method_decorator(csrf_exempt, name='dispatch')
class MailView(View):
Обновление
У вас есть CSRF_USE_SESSIONS
установлено значение True?
Вот код, который я использовал для его проверки, и он работает как положено;если декоратор закомментирован, я получаю ошибку 403 CSRF, если она оставлена, то моя запись завершается успешно.
Просмотр файла
class MyView(View):
@method_decorator(csrf_exempt)
def dispatch(self, *args, **kwargs):
return super(MyView, self).dispatch(*args, **kwargs)
def post(self, request, *args, **kwargs):
return HttpResponse(status=204)
def get(self, request, *args, **kwargs):
form = """
Authenticated: {}
<form method="post">
<label for="your_name">Your name: </label>
<input id="your_name" type="text" name="your_name">
<input type="submit" value="OK">
</form>
""".format(request.user.is_authenticated())
return HttpResponse(form)
Файл URLs
url(r'^test/', views.MyView.as_view()),