2016-03-02 6 views
-1

У меня есть новое приложение Django с конечными точками REST и статической html-страницей, которая вызывает XMLHttpRequest ВОПРОСЫ REST. POST не работают, если «C cookF cookie не установлен».Нет токена csrf для веб-страницы Django

Если я открываю клиентский отладчик, document.cooke возвращает "". AFAIK, это должно быть «csrftoken».

В settings.py, MIDDLEWARE_CLASSES содержит 'django.middleware.csrf.CsrfViewMiddleware' по умолчанию. Любая идея, что может быть неправильным?

+0

ли страница HTML '{% csrf_token%}' внутри формы? –

+0

Нет, но у моего Javascript-кода есть 'xhr.setRequestHeader (« X-CSRFToken », Cookies.get ('csrftoken')); для использования маркера файла cookie. Это работает, когда cookie установлен. – clay

+1

Как установить значение cookie? Используя пример страницы входа, сначала нужно вызвать GET на странице, что позволяет серверу устанавливать значение cookie; то можно было бы вызвать POST на той же странице. Если вы вызываете POST без предварительного трафика, cookie никогда не будет установлен. –

ответ

Смежные вопросы