我有我的管理员令牌,预订条目是允许在失眠症,但不允许DRF显示。我错过了什么,请?有办法提供它被允许的令牌?
#view.py
from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from rest_framework import viewsets
from .models import Booking, Menu
from .serializers import BookingSerializer, MenuSerializer, UserSerializer
from rest_framework.permissions import IsAuthenticated
from rest_framework.authentication import TokenAuthentication
from rest_framework import generics
from datetime import datetime
from django.views.decorators.csrf import csrf_exempt
from django.db.models import Sum
from django.contrib import messages
def home(request):
return render(request, 'index.html')
def about(request):
return render(request, 'about.html')
class UserRegistrationView(generics.CreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
class BookingViewSet(viewsets.ModelViewSet):
queryset = Booking.objects.all()
serializer_class = BookingSerializer
permission_classes = [IsAuthenticated]
authentication_classes = [TokenAuthentication]
settings.py
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
],
'DEFAULT_AUTHENTICATION_CLASS': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication'
),
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
3条答案
按热度按时间csga3l581#
选择标头键将为Authorization,值将如下所示
omvjsjqw2#
我认为您需要删除
session
身份验证类,因为此处使用了令牌进行身份验证我是说身份验证类覆盖。
因此,删除会话身份验证类,仅放置令牌身份验证类
但是,如果要使用browsable进行身份验证,则需要删除令牌身份验证并放置会话身份验证类。
如果您想使用令牌进行身份验证,则需要使用支持令牌身份验证的POSTMAN或其他第三方API测试工具,并且需要删除会话身份验证并需要放置令牌身份验证类
令牌身份验证设置(使用Postman或其他第三方API测试工具进行测试)
会话身份验证设置(使用提供DRF内置功能的可浏览API进行测试)
7kqas0il3#
在我看来你应该删除这行代码
试试看。