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

Django API端点404问题:try/路径无法访问

问题描述

首次尝试使用Django构建API,为验证功能,计划在try/端点实现GET方法,返回包含"name":"myname"的简单JSON数据。Django应用运行正常,admin页面可正常访问,但访问admin/try端点时返回404错误。所有API相关文件放在独立的api文件夹中,按教程操作应无问题。

相关代码

api/views.py

from rest_framework.response import Response
from rest_framework.decorators import api_view

@api_view(['GET'])
def tryMethod(request):
    something = {'name':'myname'}
    return Response(something)

api/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('try/', views.tryMethod)]

主应用urls.py

from django.urls import path, include
from django.contrib import admin
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
from . import views


urlpatterns = [
               path('admin/', admin.site.urls),
               path('health/', views.health, name='health'),
               path('schema/', SpectacularAPIView.as_view(), name='schema'),
               path('docs/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
               path('404', views.handler404, name='404'),
               path('500', views.handler500, name='500'),
               path('', include('api.urls')),
               ]

错误现象

访问admin/try时返回404页面未找到错误。


解决方案

你访问的路径完全错了!根据你的路由配置:

  • 主应用将api.urls挂载在了根路径(path('', include('api.urls')))
  • api.urls里配置的是try/端点

所以正确的访问路径应该是http://你的域名/try/,而admin/是Django自带后台的专属路径,和你的API端点没有关联,访问admin/try自然会返回404。

如果确实想让API端点放在admin/路径下,需要修改主应用的urls.py,把include('api.urls')的路径改成admin/,示例:

path('admin/', include('api.urls')),

但这种做法不推荐,很容易和Django自带的admin后台路由冲突。更合理的方式是给API单独设置前缀,比如api/:

path('api/', include('api.urls')),

此时正确的访问路径就是http://你的域名/api/try/。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:18:42