Django中第二个HTML页面无法关联现有页面,请求调试排查
Django页面跳转路径不存在问题调试方案
先修正代码中的明显错误
你贴的代码里混淆了urls.py和view.py,且导入语句存在语法问题,先调整为正确结构:
# app/urls.py 正确代码 from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('contact/', views.contact, name='contact') ]
核心调试检查点
- 确认视图函数存在:确保
app/views.py里有index和contact两个视图函数,且正确返回模板渲染结果:from django.shortcuts import render def index(request): return render(request, 'index.html') def contact(request): return render(request, 'contact.html') - 验证模板目录结构:在app目录下创建
templates文件夹,将index.html、contact.html放入其中,Django默认会读取该目录下的模板文件。 - 规范页面跳转链接写法:HTML中跳转必须使用Django的
{% url %}模板标签,避免硬编码路径:
若项目配置了URL命名空间,需补充命名空间:<!-- 正确示例 --> <a href="{% url 'index' %}">首页</a> <a href="{% url 'contact' %}">联系我们</a>{% url '你的app名称:contact' %}。 - 检查根URL配置:项目根目录的
urls.py必须包含当前app的路由配置:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('你的app名称.urls')) # 替换为实际app名称 ] - 强制刷新浏览器缓存:按
Ctrl+F5清除缓存后再测试跳转,避免旧缓存干扰。 - 利用Django调试信息:保持
settings.py中DEBUG = True,访问错误页面时,Django会列出所有已配置的URL,对比你访问的路径是否在列表内。
内容的提问来源于stack exchange,提问作者jeeva
相关产品推荐
相关产品推荐

