Flask似乎无法识别文件更改

3

背景: 我已经在这个项目上工作了约六个月,一直在使用Flask。一切都很好,多个版本的后端已经部署到生产环境中支持一个已经上线运行数月的应用程序。

开发周期是在本地编写代码,并使用Flask-Script的runserver命令在本地的localhost:8080进行测试,然后部署到开发服务器,最后再部署到正式服务器。

问题:前几天,我的本地flask实例,在localhost:8080上运行时似乎停止了对我的本地文件的识别。

我尝试添加一个新视图(使用一个新模板),但是在浏览器中查看时出现404错误。

接着,我尝试对现有页面进行一些测试性更改,只是将标题添加了几个单词。我重新启动了flask,但是那些更改没有出现。

于是我甚至删除了整个views.py文件。再次重启flask时,令我失望的是,我仍然可以查看原来存在的页面(即在这种情况开始之前)。

最后,我对包含所有Flask-Script命令的manage.py文件进行了一些更改,但是它们也没有被识别。好像flask开始从一个不会更新的缓存版本中读取文件系统(这很可能是原因,但我不知道为什么它开始这样做或者如何解决问题)。

提醒: 浏览器缓存不应该是问题,因为我已经打开了开发工具并禁用了缓存。而且manage.py的更改与浏览器无关。


你所指的本地文件是哪些,是.py文件和模板文件还是只有.py文件?因为要重新加载模板文件,你必须将它们传递给run()命令进行监视。尝试通过添加一些查询字符串“http://urll?123”来强制刷新,或重新加载模板并尝试清除浏览器缓存。 - Cyclotron3x3
这很可疑。你确定你在正确的目录和虚拟环境下启动了本地服务器吗?你尝试过直接启动Flask(例如 python app.py)并开启调试模式吗? - Dauros
你的 manage.py 文件里面有什么?你确定你告诉开发服务器使用重新加载器了吗? - dirn
@Cyclotron3x3 我所指的是模板和.py文件。我首先注意到这个问题是因为我在views.py中进行了一个改变,但本地Flask服务器没有相应的反应。此外,我还使用extra_files参数将templates/目录下的所有文件都显式地添加到了runserver命令中。 - Analog24
2个回答

2
您很可能已经使用过flask的DEBUG模式,该模式会在文件更改时自动重新加载应用程序中的模板。

请尝试使用

export FLASK_DEBUG=True

运行之前

flask run

更多信息请参见http://flask.pocoo.org/docs/1.0/config/#DEBUG

。该链接提供有关调试模式的详细信息。请注意保留HTML标记。


-1

我遇到了类似的问题,删除 .pyc 文件解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接