如何解决Flask Web应用运行时的500 HTTP错误
解决Flask中jinja2.exceptions.TemplateNotFound错误
问题核心
日志明确抛出jinja2.exceptions.TemplateNotFound: dashboard.html,说明500错误的根源是Flask无法定位指定模板文件,和你之前尝试的DatabaseError错误处理无关,需调整排查方向。
排查修复步骤
核对模板目录结构
Flask默认从应用根目录下的templates文件夹加载模板,确保项目结构符合规范:项目根目录/ app.py(主应用文件) templates/ dashboard.html注意
templates的拼写(不要少写末尾的s),且文件夹必须和主应用文件同级。检查模板文件名一致性
确认代码中渲染模板的语句(如return render_template("dashboard.html"))里的文件名,和实际文件的大小写、拼写完全匹配(Linux/macOS系统严格区分大小写,需特别注意)。显式指定模板路径(按需)
若模板文件夹不在默认位置,初始化Flask应用时可手动指定路径:from flask import Flask app = Flask(__name__, template_folder="/绝对路径/到/你的/templates文件夹")验证文件权限
确保运行Flask的用户拥有dashboard.html文件的读取权限,避免因权限限制无法加载模板。
验证修复
完成上述操作后重启Flask应用,访问对应路由。若模板能正常加载,500错误即可解决。若问题仍存在,再排查是否有其他代码逻辑引发的间接错误,但优先确保模板路径与文件本身无问题。
内容的提问来源于stack exchange,提问作者mehdibk
相关产品推荐
相关产品推荐

