You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DRF API接口页面未展示已配置路由URL的问题咨询

核心原因

你手动在urlpatterns中定义的路由没有被DRF的路由器管理,所以不会出现在DRF可浏览API的首页列表中。


DRF API接口页面会展示的URL

  • 所有通过DefaultRouter/SimpleRouter的register()方法注册的视图集(ViewSet)对应的路由,包括自动生成的增删改查等标准操作路由
  • 视图集中用@action装饰器声明的自定义接口路由,会自动被路由器收录后展示
  • 权限校验通过的路由:当前登录用户拥有访问权限的路由才会被展示

DRF API接口页面不会展示的URL

  • 直接写在Django原生urlpatterns中、未被DRF路由器管理的普通路由,包括你当前写的@api_view装饰的函数视图路由、普通类视图路由
  • Django原生自带的路由,比如admin后台路由、静态资源路由
  • 当前登录用户无访问权限的路由
  • 配置了隐藏属性的自定义路由

你当前场景的修复方案

如果不想调整现有视图结构,可将函数视图改为视图集并通过路由器注册即可在首页展示,示例代码如下:

# 视图代码
from rest_framework import viewsets
from rest_framework.response import Response

class HelloWorldViewSet(viewsets.ViewSet):
    # 对应GET请求
    def list(self, request):
        return Response({"message": "Hello, world!"})
    # 对应POST请求
    def create(self, request):
        return Response({"message": "Got some data!", "data": request.data})
# 路由代码
from rest_framework.routers import DefaultRouter
from .views import HelloWorldViewSet

router = DefaultRouter()
router.register(r'hello_world', HelloWorldViewSet, basename='hello_world')

urlpatterns = [
    # 你的其他原有路由
    path('', include(router.urls)),
]

内容的提问来源于stack exchange,提问作者Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:36:04