将Flask应用程序部署到Heroku - 找不到模板

时间:2013-02-12 17:11:01

标签: python heroku flask jinja2

我正在使用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文件

我已经在互联网上搜索了一个没有运气的答案。有人见过这个吗?

2 个答案:

答案 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。