Python heroku托管的flask应用程序重定向到本地主机
我目前在Horoku上有一个flask应用程序。当我访问该页面时,它会按原样打开(呈现html页面)。但是,每当我执行将用户重定向到应用程序另一个目录的操作(例如提交表单)时,它都会尝试重定向到本地主机,但失败(如果我在url栏中手动更改url,它会工作)。我觉得有一个非常简单的解决办法,但我所做的似乎没有什么不同。这里有一个例子Python heroku托管的flask应用程序重定向到本地主机,python,heroku,flask,localhost,Python,Heroku,Flask,Localhost,我目前在Horoku上有一个flask应用程序。当我访问该页面时,它会按原样打开(呈现html页面)。但是,每当我执行将用户重定向到应用程序另一个目录的操作(例如提交表单)时,它都会尝试重定向到本地主机,但失败(如果我在url栏中手动更改url,它会工作)。我觉得有一个非常简单的解决办法,但我所做的似乎没有什么不同。这里有一个例子 @app.route('/') def message_page(): return(render_template('message_page.html')
@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()部分和app.run()底部都将主机指定为0.0.0.0,但没有任何区别。注意:在本地主机上运行时,这一点非常好(我想它掩盖了这个问题)。我想问题一定与url\u for()函数有关,但我不知道如何解决它。我没有使用flask的经验,但可以将
\u external=True
传递到url\u for
方法。这将生成绝对url,您可以使用SERVER\u NAME
环境变量控制实际主机。所以你应该在heroku上设置它:
heroku config:set SERVER_NAME=your_host
好吧,根据报告,Heroku没有重定向。因此,任何重定向都是由你的应用程序执行的。谢谢你的努力,但对我来说没有用。它仍然重定向到本地主机