我正在使用Flask开发我的第一个应用程序并部署到Heroku。以下是我在本地和Heroku上收到的错误消息。也可以在这里看到:http://warm-beyond-4111.herokuapp.com/
jinja2.exceptions.TemplateNotFound TemplateNotFound:home.html
此处错误的版本更长:
File "/app/.heroku/python/lib/python2.7/site-packages/flask/templating.py",
line 61, in get_source raise TemplateNotFound(template)
TemplateNotFound: home.html
以下是该应用的概述:
目录:/ helloflask
Procfile:
web: python run.py
requirements.txt
Flask==0.9
Jinja2==2.6
Werkzeug==0.8.3
distribute==0.6.28
wsgiref==0.1.2
run.py
import os
from helloflask import app
port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port, debug=True)
目录:/ helloflask / helloflask
__初始化__。PY
from flask import Flask, render_template
app = Flask(__name__)
import helloflask.views
views.py
from helloflask import app
from flask import Flask, render_template
@app.route('/')
def home():
return render_template('home.html')
目录:/ helloflask / templates
home.html =标准HTML文件
目录:/ helloflask / static / css
main.css =标准CSS文件
我已经在互联网上搜索了一个没有运气的答案。有人见过这个吗?
答案 0 :(得分:2)
尝试在应用程序/模板的根目录下创建templates文件夹,看看是否能解决问题。我想你可以在Flask中设置模板文件夹,但现在找不到它。
另外,你可能喜欢Heroku上烧瓶部署的github repo。 https://github.com/zachwill/flask_heroku
同时检查此SO文件夹结构 - flask blueprint template folder 如果您希望将模板保留在helloflask下,则可能需要使用Flask蓝图。
我不在Heroku上使用Flask,因此尚未验证此设置。希望这会有所帮助。
答案 1 :(得分:1)
templates
文件夹应该是应用程序包的一部分。将其移至/helloflask/helloflask
。
请参阅http://flask.pocoo.org/docs/quickstart/#a-minimal-application中的#2。