Отключение Django CSRF для представлений, которые не всегда имеют ответ

Я сделал, чтобы 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.

Спасибо!

15
задан efotinis 19 November 2010 в 21:43
поделиться

1 ответ

Django действительно ожидает, что функции просмотра будут возвращать ответы. Может быть, вы могли бы вернуть пустой ответ вместо None? Или вернуть код ошибки HTTP?

7
ответ дан 1 December 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: