Python Flask运行显示旧输出,开启debug、硬刷新均无法更新如何解决
Flask debug模式下代码修改后页面不更新解决方案
- 确认运行文件与编辑文件为同一个
很多初学者会出现路径不匹配问题:终端运行的是其他目录下的同名旧文件,修改的是当前目录的新文件,自然不会生效。可在代码首行添加print("当前运行文件路径:", __file__),运行后查看终端输出的路径,和你正在编辑的文件路径对比是否一致。 - 强制开启重载器
部分环境下debug模式默认不会自动启动重载器,可将启动代码修改为:
运行后确认终端出现if __name__ == "__main__": app.run(debug=True, use_reloader=True)* Debug mode: on的提示,代表调试模式确实开启成功。 - 禁用浏览器缓存
浏览器默认会缓存静态返回内容,可在Flask初始化后添加配置禁用缓存:app = Flask(__name__) # 新增以下配置 app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0 - 清理占用端口的旧进程
如果后台有未关闭的旧Flask进程占用了5000端口,你新修改的代码启动失败也不会报错,此时你访问的实际是旧进程的服务。Windows可打开任务管理器结束所有python.exe进程,Mac/Linux可执行lsof -i:5000找到对应进程ID后kill掉,再重新运行代码。 - 检查代码语法错误
如果你修改后的代码存在语法错误,重载器会加载失败,自动回退到最后一个可正常运行的旧版本代码。查看终端是否有红色报错提示,先修复所有语法错误即可正常重载。 - 避免使用IDE的运行按钮测试
部分IDE(如Pycharm)的运行配置会默认禁用重载功能,你可以直接打开系统终端,切换到代码所在目录后执行python 你的文件名.py启动服务,测试重载是否生效。
内容的提问来源于stack exchange,提问作者Nix
相关产品推荐
相关产品推荐

