Столкнулся с проблемой что джанга не может проверить csrf запроса. И постоянно выдает 403 ошибки. Т.к. куки до этого не чистились то я даже не могу сказать после чего перестало работать.
Само приложении делаю в связке Django + Angular.
Код ангуляра такой:
var app = angular.module('app', ['ngRoute', 'ngCookies']); app.config(function($interpolateProvider) { $interpolateProvider.startSymbol('{$'); $interpolateProvider.endSymbol('$}'); }); app.config(['$httpProvider', function($httpProvider) { // $httpProvider.defaults.xsrfCookieName = 'csrftoken'; // $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }]); app.run(function($http, $cookies) { $http.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken; }) app.config(function($routeProvider) { $routeProvider.when('/', { templateUrl: 'static/templates/main.html' , controller: 'MainController' }); $routeProvider.when('/reg/', { templateUrl: 'static/templates/reg.html', controller: 'RegFormController' }); $routeProvider.when('/login/', { templateUrl: 'static/templates/login.html', controller: 'LoginFormController' }); $routeProvider.when('/add/', { templateUrl: 'static/templates/add.html', controller: 'CreateFormController' }); $routeProvider.when('/logout/', { // templateUrl: 'static/templates/login.html', controller: 'LogoutController' }); $routeProvider.otherwise({redirectTo: '/'}); }); app.controller('LoginFormController', ['$scope', '$http', '$location', '$cookies', function($scope, $http, $location, $cookies) { $scope.submit = function() { var in_data = {login: $scope.login}; var req = { method: 'POST', url: '/login/', headers: { "x-csrftoken" : $cookies.csrftoken }, data: in_data, } // $http.post('/login/', angular.toJson(in_data)) $http(req) .success(function(data, status) { console.log(data + status); $location.path("/main"); }) .error(function(data, status) { console.log(data + status); }); }; }]);
http://www.daveoncode.com/2013/10/17/how-to-make-angularjs-and-django-play-nice-together/
https://stackoverflow.com/questions/17931158/angularjs-django-rest-framework-cors-csrf-cookie-not-showing-up-in-client
но мне это не особо помогло.
Сама ошибка:
<h1>Forbidden <span>(403)</span></h1> <p>CSRF verification failed. Request aborted.</p> ... <p>Reason given for failure:</p> <pre> CSRF cookie not set. </pre>