匿名用户Django+;角度2

匿名用户Django+;角度2,django,angular,jwt,Django,Angular,Jwt,我使用的是django+angular 2 我正在使用rest\u framework\u jwt和这样的url url(r'^api/api-token-auth/', obtain_jwt_token), url(r'^api/settings/?$', views.SettingsValues.as_view()), 我的观点是 class SettingsValues(generics.ListAPIView): serializer_class = SettingsSeri

我使用的是django+angular 2

我正在使用rest\u framework\u jwt和这样的url

url(r'^api/api-token-auth/', obtain_jwt_token), 
url(r'^api/settings/?$', views.SettingsValues.as_view()),
我的观点是

class SettingsValues(generics.ListAPIView):
    serializer_class = SettingsSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)

    def get_queryset(self):
        queryset = Settings.objects.all()
        queryset = queryset.filter(user=self.request.user.id)
        print self.request.user
        return queryset
我的服务是:

  getSettings() : Promise <SettingsValues> {
      return this.http.get('/api/settings', { headers: this.headers })
      .toPromise()
      .then(response => response.json() as SettingsValues);

从服务器获取令牌后,必须保存它并在后续api调用的头中发送。大概是这样的:

getSettings() : Promise <SettingsValues> {
  this.headers.append('Authorization', 'JWT ' + token);
  return this.http.get('/api/settings', { headers: this.headers })
  .toPromise()
  .then(response => response.json() as SettingsValues);
}

在Angular 2中,我不知道如何缓存它,但看看这么简单?该死的。。非常感谢你!实际上,我使用let currentUser=JSON.parse(localStorage.getItem('currentUser');然后是.headers.append('Authorization','JWT'+currentUser.token);
getSettings() : Promise <SettingsValues> {
  this.headers.append('Authorization', 'JWT ' + token);
  return this.http.get('/api/settings', { headers: this.headers })
  .toPromise()
  .then(response => response.json() as SettingsValues);
}
$http.defaults.headers.common.Authorization = 'JWT ' + token`;