Как выполнить почтовый запрос на django restframework viewset.ViewSet - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь выполнить почтовый запрос с помощью ax ios к моему django бэкэнду. Выдает ошибку 401 Unauthorized.

JavaScript Frontend

saveArticle(){
        let that = this;
    axios
      .post("http://localhost:8000/api/articles/", {
        headers: {
          Authorization: `Bearer ${that.$store.getters.accessToken}`
        },
        title: that.title,
        content: that.content
      })
      .then(response => {
        console.log(response)
      });
    }

Python Backend

class ArticleViewSet(viewsets.ViewSet):
    """
    API endpoint that allows articles to be viewed or edited
    """
    def list(self, request):
        queryset = Article.objects.all().order_by('-date')
        serializer = ArticleSerializer(queryset, many=True)
        return Response(serializer.data)
    #Getting one article by providing it's id
    def retrieve(self, request, pk=None):
        queryset = Article.objects.all()
        article = get_object_or_404(queryset, pk=pk)
        serializer = ArticleSerializer(article)
        return Response(serializer.data)
    #Create new article
    def create(self, request):
        print(request.user)
        return Response({"message": "Article saved"})
    #Edit article
    def update(self, request, pk=None):
        pass

    def partial_update(self, request, pk=None):
        pass

    def destroy(self, request, pk=None):
        queryset = Article.objects.all()
        article = get_object_or_404(queryset,pk=pk)
        article.delete()
        return Response({"message": "Deleted"})

    def get_permissions(self):
        """
        Instantiates and returns the list of permissions that this view requires
        """
        if self.action == 'list':
            permission_classes = [permissions.IsAuthenticated,]
        if self.action == 'create':
            permission_classes = [permissions.IsAuthenticated,]
        else:
            permission_classes = [permissions.IsAdminUser,]
        return [permission() for permission in permission_classes]

Я использую токены JWT для аутентифицировать. Список статей работает, но публикация данных для создания статьи не работает. Я не совсем уверен, как это работает, обрабатывает ли метод create почтовые запросы. Кто-нибудь может помочь мне решить эту проблему.

...