问题描述
我正在开发 Python 3 Flask 应用并运行 dev_appserver.py
以进行本地测试。
我发现当我修改 Jinja 模板时,本地实例似乎没有接受这些更改,即使我在浏览器中硬刷新也是如此。我能够获取更改的唯一方法是终止脚本并再次运行它。
我在官方文档中没有发现任何提及这一点,--help
只提到了一个相关标志,并且它说默认情况下观察者不会忽略任何内容:
--watcher_ignore_re WATCHER_IGnorE_RE
Regex string to specify files to be ignored by the
filewatcher. (default: None)
解决方法
您可以将额外的文件传递给 Flask().run()
,如下所示:
from os import path,walk
extra_dirs = ['directory/to/watch',]
extra_files = extra_dirs[:]
for extra_dir in extra_dirs:
for dirname,dirs,files in walk(extra_dir):
for filename in files:
filename = path.join(dirname,filename)
if path.isfile(filename):
extra_files.append(filename)
app.run(extra_files=extra_files)