我在做一个Django电子商务项目。
我试图实现一个令牌身份验证系统。我将rest_framework.authtoken添加到INSTALLED_APPS和
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}设置文件。
这是我的urls.py
path('admin/', admin.site.urls),
path('login_signup/',include('login_signup.urls')),
path('profile',include('profile_info.urls')),
path('',include('category.urls')),
path('cart',include('cart.urls')),
path('api_token_auth',views.obtain_auth_token,name='auth-token'),
]这是我的category.urls文件。
urlpatterns=[
path('category',CategoryView.as_view(),name='category'),
path('subcategory',SubcategoryView.as_view(),name='subcategory'),
path('product',ProductView.as_view(),name='product'),
path('search',SearchView.as_view(),name='search'),
]我可以通过在api_token_auth端点提供用户名和密码来获得令牌。

现在,我应该能够访问任何API,只要我以这种格式添加授权HTTP报头。授权:令牌"xyz“
但我一直在找{"detail":"Authentication credentials were not provided"}

这是我想要访问的视图。
class SubcategoryView(APIView):
def get(self,request):
serializer=SubcategorySerializer(Subcategory.objects.all(),many=True)
return JsonResponse({"subcategories":serializer.data})为什么我老是犯这个错误?我做错了什么?
发布于 2019-07-29 11:13:21
:从Authorization 标头值中删除。Authorization头的值应该如下所示:
Token <token value>
发布于 2019-07-29 11:24:57
您需要像Authorization: Token 1740...20一样将令牌作为标头传递。Token后无分号。这里有一个curl命令
curl -X GET http://127.0.0.1:8000/subcategory/ -H 'Authorization: Token 1740...20'https://stackoverflow.com/questions/57252306
复制相似问题