Я сделал обновление Django с 1.7.5 до 1.11.15. Я также использую Django Rest Framework версии 3.3.2.
После этого все запросы PUT / POST (возможно, тоже DELETE) отклоняются с помощью кода состояния 403 и сообщения:
{"detail": "Ошибка CSRF: файл cookie CSRF не установлен."}
Классы промежуточного программного обеспечения, которые я использую в settings.py:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware'
)
Я заметил, что если я включаю класс промежуточного программного обеспечения 'django.middleware.csrf.CsrfViewMiddleware', то все работает нормально. Однако, поскольку я не знаю четко, почему этот класс в настоящее время отключен, я хотел бы оставить его как есть и искать другой обходной путь.
Какие будут варианты в этом сценарии?