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

Flask含JWT的邮箱验证路由无法加载静态文件,求解决

问题根源

问题出在new_token.html模板中静态文件的引用方式是相对路径。当用户访问/confirm_user/<token>这个嵌套路径时,浏览器会把相对路径的静态文件请求解析为/confirm_user/static/xxx,而你的静态文件实际存放在根路径下的/static/目录,因此返回404错误。

解决方案

把模板中所有静态文件的引用改成Flask提供的url_for生成的绝对路径,具体操作如下:

  1. 打开new_token.html模板,定位所有静态文件的引用(CSS、JS、图片等)。
  2. 将原来的相对路径引用替换为url_for('static', filename='静态文件的相对路径')格式。

示例修改

原错误引用:

<link rel="stylesheet" href="static/vendor/bootstrap/css/bootstrap.min.css">
<script src="static/js/main.js"></script>
<img src="static/images/logo.png">

修改后正确引用:

<link rel="stylesheet" href="{{ url_for('static', filename='vendor/bootstrap/css/bootstrap.min.css') }}">
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
<img src="{{ url_for('static', filename='images/logo.png') }}">

额外小修正

你的confirm_user视图函数中,return redirect('main.home')写法有误,应该用url_for生成正确的路由地址,避免潜在路径问题:

return redirect(url_for('main.home'))

修改后,无论当前页面处于哪个路由层级,静态文件都会被解析到根路径下的/static/目录,即可正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:55:07