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

Django删除数据后页面重定向异常:URL重复index问题求助

问题排查:重定向后URL出现重复的/index
  • 核心原因:你的URL配置存在嵌套路径,导致reverse('index')生成了/index/index。最可能的情况是项目根URLconf将当前app的URL挂载到了/index/路径下,同时app自身的urls.py里又定义了path('index', ...),两者叠加形成了/index/index的完整URL。

比如根urls.py如果是这样:

from django.urls import path, include

urlpatterns = [
    path('index/', include('card.urls')),  # 将app挂载到/index/路径下
]

那么app的urls.py里的path('index', views.index, name="index")就会对应完整路径/index/index,reverse('index')自然会生成这个结果。

  • 解决方法:
    1. 调整根URL配置:如果希望index对应根路径下的/index,把根urls.py里的挂载路径改为根路径:
      path('', include('card.urls'))  # 直接将app挂载到根路径
      
    2. 调整app的URL配置:如果根URL必须挂载到/index/,那么把app的urls.py里的index路径改为空路径:
      path('', views.index, name="index"),  # 对应/index/路径
      
    3. 验证reverse结果:可以在delete视图里临时打印reverse('index')的结果,确认生成的URL是否符合预期:
      def delete(request, id):
          dishes = dish.objects.get(id=id)
          dishes.delete()
          target_url = reverse('index')
          print(target_url)  # 查看控制台输出的URL
          return HttpResponseRedirect(target_url)
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:10:27