2017-03-09 52 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'))) 

我试图在两个app.route指定主机为0.0.0.0()部分和app.run()在应用程序的底部,但并没有区别。注意:在localhost上运行时,这种方式非常有效(我认为它掩盖了问题)。我认为这个问题必须与url_for()函数有关,但我不知道如何解决它。

回答

0

我没有烧瓶的经验,但docs说,你可以通过_external=Trueurl_for方法。这将生成绝对网址,您可以使用SERVER_NAME环境变量来控制实际主机。所以你应该把它设置在heroku上:

heroku config:set SERVER_NAME=your_host 
+0

谢谢你的努力,但它没有为我工作。它仍然重定向到本地主机 – b9703