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

Django使用Ajax请求/getpic路径返回404 Not Found错误问题求助

Django对接Ajax时getpic接口404错误排查方案

你可以按以下顺序逐一排查问题:

  • 路由层级校验:先确认你贴出的urls.py是项目根路由还是应用(app)下的子路由。如果是应用子路由,需要检查根路由是否通过include引入了该应用的路由,且引入时没有额外加前缀。比如根路由配置为path('api/', include('myapp.urls')),那实际接口地址是/api/getpic,前端写/getpic自然匹配不到。
  • 斜杠匹配校验:Django默认开启APPEND_SLASH配置,访问无末尾斜杠的地址时会自动302重定向到带斜杠的地址,部分严格的请求场景下会触发404。你可以统一两端的路径格式:要么把前端Ajax的url改为/getpic/,要么把urls.py里的路由配置改为path('getpic/', views.send_pic, name="getpic")。
  • 路由顺序校验:检查urlpatterns列表中,getpic路由前面是否存在可以匹配到/getpic的通配符路由,比如path('<str:param>/', views.test)这类。通配符路由优先级更高,会覆盖后面的明确路由,导致请求匹配错误。把明确路由放到通配符路由之前即可解决。
  • 视图内部异常排查:你当前的send_pic视图用了全局try-except捕获所有异常,如果vsco类初始化、find_link方法执行出错,且项目配置了异常跳转404的规则,也会返回404状态码。你可以先注释掉try-except代码块,查看后台抛出的具体异常信息,确认是否是视图内部逻辑错误导致的假404。

额外注意:你当前视图的异常分支中,JsonResponse({'vscolink':'link'})里的link加了引号,返回的是固定字符串而不是你定义的图片链接变量,后续功能调试时需要修正。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:36:03