FlaskとPythonを使用して非常に単純なFlaskアプリケーションを作成しようとしています。データベースやその他のプラグインはありません。アプリケーションは私のローカルマシン上で正常に動作し、エラーなくナビゲートすることができますが、Herokuにデプロイすると、インデックスを含め、私が訪問しようとしているページで404 Not Foundエラーが発生します。 Site Layout404 HeraskでFlaskアプリケーションを実行するとエラーが発生する
mbtaCrTracker.pyは私のアプリのルートです:
は、ここに私のサイトのレイアウトです。ここでは、それが現在のようになります。
from mbtaCrTracker import app
from mbtaCrTracker import views
app.run(host='0.0.0.0', debug=True)
ここに私の_のinit _.pyです:
from flask import Flask
app = Flask(__name__)
は、ここに私のviews.pyです:
from flask import render_template, request, redirect
from mbtaCrTracker import app
from getTrainInfo import getTrainInfo
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html')
@app.route('/map', methods=['GET'])
def findTrain():
line = request.args.get('line')
direction = request.args.get('direction')
coords = getTrainInfo(line, direction)
return render_template('map.html', coords=coords)
は、ここに私のProcfileです:
web: gunicorn mbtaCrTracker:app --log-file=-
私はすべてが正しく設定されていると思う私は何の問題もなくローカルでアプリを走らせることができるからです。私がHerokuにデプロイすると、サイトがクラッシュしていないUpであることがわかります。サーバーのエラーは表示されません。ただ見つからないエラーです。まるで私のルートがうまく動かないかのようなものです。
は、ここで私は自分のサイトのホームページにアクセスしようとしたとき、私は私のHerokuのログに見るものです:
2017-11-06T12:23:17.717474+00:00 heroku[web.1]: Starting process with command `gunicorn mbtaCrTracker:app --log-file=-`
2017-11-06T12:23:19.795333+00:00 app[web.1]: [2017-11-06 12:23:19 +0000] [4] [INFO] Starting gunicorn 19.7.1
2017-11-06T12:23:19.796263+00:00 app[web.1]: [2017-11-06 12:23:19 +0000] [4] [INFO] Listening at: http://0.0.0.0:43494 (4)
2017-11-06T12:23:19.796405+00:00 app[web.1]: [2017-11-06 12:23:19 +0000] [4] [INFO] Using worker: sync
2017-11-06T12:23:19.800312+00:00 app[web.1]: [2017-11-06 12:23:19 +0000] [8] [INFO] Booting worker with pid: 8
2017-11-06T12:23:19.810431+00:00 app[web.1]: [2017-11-06 12:23:19 +0000] [9] [INFO] Booting worker with pid: 9
2017-11-06T12:23:21.351354+00:00 heroku[web.1]: State changed from starting to up
2017-11-06T12:23:29.564508+00:00 heroku[router]: at=info method=GET path="/" host=mbtacrtracker.herokuapp.com request_id=cdae33d9-9f9d-4568-b619-b6c10bb34e9b fwd="172.58.216.112" dyno=web.1 connect=1ms service=19ms status=404 bytes=386 protocol=https
思考?ここで
これは、アプリケーションがポート43494でリッスンしているようです。これはアクセスしようとしているポートですか?ルーティングが指定されていますか?すべてのポートを開く必要がありますか? –
Herokuは、アプリケーションが停止して再起動するたびにランダムポートを選択するようです。たとえば、私はもう一度やり直しましたが、現在はポート16469を使用しています。そのポートでアプリケーションにアクセスしようとすると、「このサイトには到達できません」というメッセージが表示されます。私は私のアプリで特定のポートを必要としていません。したほうがいい? 私は元の投稿に含まれているいくつかのルートを持っています。 –
私はそれが港を選ぶガンコーンだと思うが、私は完全にはわからない。ホストを指定するポートを指定するとどうなりますか? 'app.run(host = '0.0.0.0'、debug = True、port = 1337)' –