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

Django新增contact页面路由配置后请求无响应,调试返回200状态码排查

问题原因

你的配置存在3处路由匹配逻辑错误,返回200是因为请求匹配到了已存在的路由,但命中的是articles视图而非contact视图,所以看起来页面无响应:

  1. Django路由遵循自上而下匹配、匹配成功即终止的规则,你的应用级urls中两个路由的路径完全相同(均为空字符串),请求永远只会命中排在前面的views.articles,views.contact完全不会被触发
  2. 项目级urls重复引入了articles.urls,且单独配置的path('contact', include('articles.urls'))逻辑错误:当你访问/contact时,会把路径传入articles的urls中匹配,此时articles的urls匹配空路径的规则依然生效,最终还是返回articles视图的内容
  3. 路由路径未加尾斜杠,不符合Django默认的路由规范,容易出现匹配异常

修正方案

  1. 修正项目级urls.py,删除重复的include配置,仅保留一次应用引入:
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('articles.urls')),
]
  1. 修正articles应用下的urls.py,给contact路由配置独立路径:
urlpatterns = [
    path('', views.articles, name='articles'),
    path('contact/', views.contact, name='contact'),
]
  1. (可选优化)模板中的contact链接使用Django路由反向解析写法,避免后续修改路由路径需要同步改模板:
<a href="{% url 'contact' %}">联系我们</a>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:54:03