Django Rest Framework-未提供身份验证凭据

我正在使用Django Rest Framework开发API。我试图列出或创建“订单”对象,但是当我尝试访问控制台时,出现此错误:

{"detail": "Authentication credentials were not provided."}

观看次数:

from django.shortcuts import render

from rest_framework import viewsets

from django.contrib.auth.models import User

from rest_framework.renderers import JSONRenderer, YAMLRenderer

from rest_framework.response import Response

from rest_framework.views import APIView

from order.models import *

from API.serializers import *

from rest_framework.permissions import IsAuthenticated

class OrderViewSet(viewsets.ModelViewSet):

model = Order

serializer_class = OrderSerializer

permission_classes = (IsAuthenticated,)

序列化器:

class OrderSerializer(serializers.HyperlinkedModelSerializer):

class Meta:

model = Order

fields = ('field1', 'field2')

我的网址:

# -*- coding: utf-8 -*-

from django.conf.urls import patterns, include, url

from django.conf import settings

from django.contrib import admin

from django.utils.functional import curry

from django.views.defaults import *

from rest_framework import routers

from API.views import *

admin.autodiscover()

handler500 = "web.views.server_error"

handler404 = "web.views.page_not_found_error"

router = routers.DefaultRouter()

router.register(r'orders', OrdersViewSet)

urlpatterns = patterns('',

url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),

url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token'),

url(r'^api/', include(router.urls)),

)

然后我在控制台中使用以下命令:

curl -X GET http://127.0.0.1:8000/api/orders/ -H 'Authorization: Token 12383dcb52d627eabd39e7e88501e96a2sadc55'

错误说:

{"detail": "Authentication credentials were not provided."}

回答:

通过在我的settings.py中添加“ DEFAULT_AUTHENTICATION_CLASSES”来解决

REST_FRAMEWORK = {

'DEFAULT_AUTHENTICATION_CLASSES': (

'rest_framework.authentication.TokenAuthentication',

),

'DEFAULT_PERMISSION_CLASSES': (

'rest_framework.permissions.IsAdminUser'

),

}

以上是 Django Rest Framework-未提供身份验证凭据 的全部内容, 来源链接: utcz.com/qa/434289.html

回到顶部