我正在向Heroku部署一个简单的Flask应用程序 - (第一次使用Flask和Heroku)。当我尝试部署时,我收到“应用程序错误”,该页面告诉我在几分钟后再试一次。日志状态 - “连接[正在使用”],重试几次,然后工作人员退出(如果有帮助,我可以发布日志)。
我的demo.py文件:
import flask, flask.views
import os
import urllib2
from bs4 import BeautifulSoup
opener = urllib2.build_opener()
app = flask.Flask(__name__)
app.secret_key = "bacon"
class View(flask.views.MethodView):
def get(self):
return flask.render_template('index.html')
def post(self):
url = (flask.request.form['url'])
ourUrl = opener.open(url).read()
soup = BeautifulSoup(ourUrl)
title = soup.title.text
recipe = soup.find("div", {"id": "recipe"}).getText()
flask.flash(title)
flask.flash(recipe)
return self.get()
app.add_url_rule('/', view_func=View.as_view('main'), methods=['GET', 'POST'])
app.debug = True
app.run()
我的proc文件是: web:gunicorn demo:app
如果我将proc文件更改为web:python demo.py,我可以使用Foreman在本地运行应用程序,但仍然无法部署到Heroku。
非常感谢任何帮助。这是我第一次这样做!!
谢谢。
答案 0 :(得分:4)
我明白了。需要在app.run()
之前添加以下内容if __name__ == "__main__":
现在它在Heroku上运行良好。