2013-01-13 85 views
2

我正在玩我的配置文件,然後我保存了一些東西,然後突然沒有我的模板可以在我的本地主機中找到了。Jinja2不能再找到模板TemplateNotFound

它拒絕在我的app/templates文件夾中找到index.html或任何模板。

我的應用程序名稱已更改,但我將其更改回來,但仍不能解決該錯誤。我改變了我的basedir變量,secret_key與它有什麼關係?因爲我恢復了這些變化,它仍然找不到任何東西。這就像魔術一樣,突然停止工作。它似乎在jinja中的dispatchingjinjaloader和get_source()函數上失敗。 StackTrace:

jinja2.exceptions.TemplateNotFound 
return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list), 
return self.get_template(template_name_or_list, parent, globals) 
return self._load_template(name, self.make_globals(globals)) 
template = self.loader.load(self, name, globals) 
source, filename, uptodate = self.get_source(environment, name) 
raise TemplateNotFound(template) 

Jinja2在哪裏找出我的模板文件夾在哪裏?它怎麼會找不到它了?

你在哪裏爲jinja設置模板的默認文件夾?

回答

10

好吧,很顯然,當我改變了應用程序的名稱... app_name ='app',因爲我的模板文件夾位於app/application/templates中,所以我應該命名我的app_name ='application'之前(我沒有意識到名稱正在返回應用程序而不是應用程序)。

顯然,jinja2在初始化Flask()時會查看你的app_name(...)很奇怪,我沒有看到它的文檔。

+1

非常感謝Dexter。你救了我的一天! – Kevin

+1

謝謝,我對兩個小時的錯誤感到困惑。 :) – levlaz