Django DRF 页面未显示登录入口,附REST_FRAMEWORK相关配置求排查
问题根因
- 从你提供的页面截图来看,当前访问的是DRF默认的根API列表页面,已触发全局
IsAuthenticated权限校验,排除权限配置导致的登录入口隐藏问题,核心原因是你未在项目根路由中注册Django REST Framework内置的会话认证路由,DRF可浏览API页面会自动检测该路由是否存在,不存在时不会渲染登录入口。 - 你配置的
TokenAuthentication无默认Web端登录界面,可浏览API的登录功能仅基于SessionAuthentication实现,必须配套对应路由才能生效。
解决方法
- 编辑项目根目录的
urls.py文件,添加DRF的会话登录登出路由,配置示例如下:
from django.urls import path, include from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), # 新增DRF认证路由,路径前缀可自定义,通常用api-auth path('api-auth/', include('rest_framework.urls', namespace='rest_framework')), # 保留你原有其他业务路由 ]
- 保存文件后重启Django开发服务,刷新API页面即可看到右上角的登录选项。
- 如果配置后仍不显示,可按以下顺序排查:
- 清除浏览器缓存后重新访问页面
- 检查你当前访问的视图是否单独配置了
rest_framework.permissions.AllowAny权限,非认证要求的页面不会显示登录入口 - 检查
settings.py中INSTALLED_APPS是否已注册rest_framework应用
内容的提问来源于stack exchange,提问作者Santhosh
相关产品推荐
相关产品推荐

