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

Flask中@app.route('/index')不生效但带.html后缀路由生效原因问询

Flask 两种路由写法的核心差异说明

两种写法的本质区别是@app.route()装饰器绑定的用户可访问的URL路径完全不同,和你函数内部render_template加载的模板文件名没有强制关联:

  • 写法1:@app.route('/index')
    该规则绑定的访问路径为域名/index,只有用户请求/index路径时,才会触发index函数返回index.html模板内容。你测试时无法生效,大概率是你访问的路径是/index.html,和你绑定的路径不匹配,自然无法命中该路由规则,返回404错误。
  • 写法2:@app.route('/index.html')
    该规则绑定的访问路径为域名/index.html,你测试时如果直接输入带.html后缀的路径,刚好匹配该规则,所以可以正常返回页面。

额外补充一个容易踩的相关坑:如果你的项目static目录下存在同名的index.html静态文件,Flask默认会优先响应静态文件的请求,不会触发你自定义的同名路由规则,调整目录结构或者修改静态文件优先级配置即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:39:01