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

2022-02-27 00:00:00 python flask jinja2 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,因此尚未验证此设置。希望这能有所帮助。

相关文章