将Flask应用程序部署到Heroku-找不到模板
问题描述
我正在使用Flask开发我的第一个应用程序,并部署到Heroku。下面是我在本地和Heroku上得到的错误消息。此处也可以看到:http://warm-beyond-4111.herokuapp.com/
jinsa2.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
__init__.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/plates
home.html=标准HTML文件
目录:/helloflask/静电/css
main.css=标准CSS文件
我在网上搜寻过答案,但一无所获。有人见过这个吗?
解决方案
尝试在应用程序/模板的根目录下创建Templates文件夹,看看是否可以解决问题。我想您可以在Flask中设置Templates文件夹,只是现在找不到它。
此外,您可能希望在Heroku上部署GitHub repo on flask。 https://github.com/zachwill/flask_heroku 还请签出此内容,以便发布在文件夹结构上- flask blueprint template folder 如果您希望将模板保存在helloflask下,则可能需要使用Flask蓝图。我没有在Heroku上使用Flask,因此尚未验证此设置。希望这能有所帮助。
相关文章