0
私はdjango、djangoRestFramework、Angular1.xを使って1ページのアプリケーションを開発しています。私は組み込みのログインメソッドを使ってログインビューを実装しましたが、apiにリクエストを行うたびに、csrfの検証に失敗して戻ります。CSRF検証に失敗しました。リクエストが中止されました。 Django 1.10とAngular 1.6
私は同じようcsrf_protectデコレータで自分のログインビューを包ん:
class LoginView(views.APIView):
@method_decorator(csrf_protect)
def post(self, request):
user = authenticate(
username=request.data.get('username'),
password=request.data.get('password')
)
if user is None or not user.is_active:
return Response({
'status': 'Unauthorized',
'message': 'Username or password incorrect'
}, status=status.HTTP_401_UNAUTHORIZED)
login(request,user)
return Response(UserSerializer(user).data)
そして、私はangular.configなどを実行しました:
angular.run(['$http', function($http) {
$http.defaults.xsrfHeaderName = 'X-CSRFToken';
$http.defaults.xsrfCookieName = 'csrftoken';
}])
私はcsrf_protectデコレータを取るとき、それはまだ私与えます '要求オブジェクトには属性セッションがありません'というエラーが表示されます。
また、ローカルホストで作業しているときにログインする前にdjango管理者ページにアクセスしてもエラーにはなりません。私は、任意のヘルプは