用户注册及创建教师接口报错:Authentication credentials were not provided.求助
解决"Authentication credentials were not provided"错误的方法
这个报错是因为你的Django REST Framework接口默认要求用户认证,但注册用户、创建教师这类接口本来就该允许未登录的匿名用户访问,按下面的步骤改就行:
给对应视图添加匿名访问权限
打开views.py,找到注册用户和创建教师的视图类,先导入AllowAny权限类,然后给视图加上permission_classes配置:from rest_framework.permissions import AllowAny # 注册用户的视图 class UserCreateView(CreateAPIView): serializer_class = UserSerializer permission_classes = [AllowAny] # 新增这一行,允许匿名访问 # 创建教师的视图 class TeacherCreateView(CreateAPIView): serializer_class = TeacherSerializer permission_classes = [AllowAny] # 新增这一行检查全局配置(可选)
如果你的settings.py里配置了REST_FRAMEWORK的DEFAULT_AUTHENTICATION_CLASSES,说明全局默认要求认证,这时候必须通过上面的视图级权限设置来覆盖,让公开接口允许匿名访问。
改完之后重启服务,再试注册和创建教师操作,这个认证错误应该就消失了。
内容的提问来源于stack exchange,提问作者Peshangay Aram
相关产品推荐
相关产品推荐

