Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python heroku托管的flask应用程序重定向到本地主机_Python_Heroku_Flask_Localhost - Fatal编程技术网

Python heroku托管的flask应用程序重定向到本地主机

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')

我目前在Horoku上有一个flask应用程序。当我访问该页面时,它会按原样打开(呈现html页面)。但是,每当我执行将用户重定向到应用程序另一个目录的操作(例如提交表单)时,它都会尝试重定向到本地主机,但失败(如果我在url栏中手动更改url,它会工作)。我觉得有一个非常简单的解决办法,但我所做的似乎没有什么不同。这里有一个例子

@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没有重定向。因此,任何重定向都是由你的应用程序执行的。

谢谢你的努力,但对我来说没有用。它仍然重定向到本地主机