Я сделал, чтобы Django просмотрел, который получает СООБЩЕНИЯ, которые не должны иметь маркера CSRF. Поэтому я использовал @csrf_exempt
декоратор на представлении. Проблема состоит в том, что иногда я не выпускаю ответ от представления (это - бот Твиттера, это получает POST HTTP для каждого твита, и я не хочу отвечать на каждый твит). Когда я не выпускаю ответ, я получаю следующую ошибку:
Traceback (most recent call last):
File "/home/adam/webapps/newman/lib/python2.5/django/core/handlers/base.py", line 100, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/home/adam/webapps/newman/lib/python2.5/django/views/decorators/csrf.py", line 24, in wrapped_view
resp.csrf_exempt = True
AttributeError: 'NoneType' object has no attribute 'csrf_exempt'
resp (то, которое я принимаю, является ответом) не является Ни одним, потому что с представлением вышли просто return
. Как я могу избежать этой ошибки и все еще не потребовать маркеров CSRF в POST.
Спасибо!
Django действительно ожидает, что функции просмотра будут возвращать ответы. Может быть, вы могли бы вернуть пустой ответ вместо None? Или вернуть код ошибки HTTP?