Flask找不到模板文件夹,因为它正在过时的根目录中工作

时间:2019-03-28 11:32:09

标签: flask

Flask找不到我的模板目录。我在C:\ old \ path \ HerokuApp上有一个工作程序,所有程序都已设置并且可以正常工作。

然后,我删除了C:\ old \ path \ HerokuApp中的所有内容,因此现在为空,然后将所有文件放入C:\ new \ path \ HerokuApp中(从技术上讲,我是从github克隆到新路径中的)。

现在,当我转到http://localhost:5000时,我得到一个Jinja stacktrace错误,其中包含以下行:

File "C:/old/path/HerokuApp/launcher.py", line 14, in home

但是正如我所说,该文件已不存在!

我的问题:如何让Flask刷新其工作目录?

我尝试以三种不同的方式启动该应用程序,我认为所有这些方法都可以从项目的根目录中运行它:

(1)使用python:

C:\new\path\HerokuApp>"C:\path\to\python.exe" launcher.py

(2)使用烧瓶:

set FLASK_APP=launcher.py
C:\new\path\HerokuApp>"C:\path\to\flask.exe" run

(3)使用spyder:

runfile('C:/new/path/HerokuApp/launcher.py', wdir='C:/new/path/HerokuApp')

1 个答案:

答案 0 :(得分:0)

好的,所以我知道了。以前,我一直在使用Spyder运行该应用程序,但是重新启动内核或关闭Spyder并不能完全杀死它……Windows任务管理器显示仍将运行python进程。杀死那个最终停止了localhost:5000端口的服务。完成此操作后,我便可以从新路径启动我的应用了。

对我来说,主要的好处是不要使用Spyder来启动Flask应用程序:它无法停止服务器(从3.1.4版开始)。相比之下,使用python或flask启动应用程序-我的问题中的(1)和(2)-明确地为您提供了一个选择,方法是按ctrl-C。