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

Django项目点击跳转其他html文件返回404错误,求解决方案

第一步:修正项目根目录下的urls.py配置

你之前的代码混淆了根路由和APP路由的配置,根路由只需要保留下面的内容即可,不要把APP的路由或者视图代码写在这里:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

admin.autodiscover()

urlpatterns = [
    path('admin/', include('admin_honeypot.urls', namespace='admin_honeypot')),
    path('secret/', admin.site.urls),
    path('home/', include("portfolio_django.urls")),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

第二步:在portfolio_djangoAPP目录下新建urls.py文件,填入以下内容

你之前所有路由都用空路径'',Django只会匹配第一个路由,其余路由永远不会触发,需要给每个页面对应独立的路径:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('contact/', views.contact, name='contact'),
    path('project/', views.Portfolio, name='Project')
]

第三步:修正视图名匹配问题

你原本APP路由里写的是调用views.Project,但实际views.py里对应的函数名是Portfolio,上面第二步的代码已经修正了这个调用名的大小写不一致问题,直接复用即可。

第四步:修正页面跳转的链接写法

不要直接跳转xxx.html的文件路径,Django不会直接响应静态html文件的访问请求,所有跳转都要走路由名,页面里的跳转链接改成用Django模板的url标签:

  • 首页跳转:<a href="{% url 'home' %}">首页</a>
  • 联系页跳转:<a href="{% url 'contact' %}">联系我们</a>
  • 项目页跳转:<a href="{% url 'Project' %}">项目展示</a>
    如果是硬写链接的话,对应路径是/home/、/home/contact/、/home/project/,不要加.html后缀。

改完之后重启服务即可正常访问各个页面。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:39:02