2017-03-09 4 views
0

私は現在、Horokuでホストされているフラスコアプリを持っています。私はページを訪問するときにそれは(HTMLページをレンダリングする)必要があるように開く。しかし、ユーザーをアプリケーションの別のディレクトリにリダイレクトするアクションを実行するたびに、ローカルホストにリダイレクトしようとすると失敗します(URLバーのURLを手動で変更すると機能します)。私はこれに非常に単純な修正があるように感じるが、何も違いを生むようには見えない。ここでの例だ...herokuさんがホストしているフラスコのアプリがlocalhostにリダイレクトされます

@app.route('/') 
def message_page(): 
    return(render_template('message_page.html')) 

@app.route('/message_receiver', methods = ['POST']) 
def message_reciever(): 
    message = request.form['msg'] 

    ***some other stuff*** 

    return(redirect(url_for('message_page'))) 

i)は(app.route()の部分とapp.runの両方で0.0.0.0とホストを指定しようとしたアプリの下部にあるが、それは何の違いが行われていません。注意:これはlocalhost上で実行しているときにはうまくいきます(問題を隠していると思います)。私は問題がurl_for()関数と関係している必要がありますが、私はそれを修正する方法を知りません。

答えて

0

私はフラスコでの経験はありませんが、docsは、_external=Trueからurl_forまでの方法を渡すことができると言います。これにより絶対URLが生成され、SERVER_NAME環境変数で実際のホストを制御できます。だからあなたは英雄の上にそれを設定すべきですか:

heroku config:set SERVER_NAME=your_host 
+0

私はあなたに努力してくれてありがとうございました。それでもローカルホストにリダイレクトされます – b9703

関連する問題