我有一个Flask应用程序在端口5000上运行。我的服务器管理员已配置nginx将其转发到端口5001(对不起,如果我有错误的术语:Flask应用程序在端口5000上运行,但应用程序可在http://the_url:5001
公开访问)。Flask url_for忽略端口
直接在浏览器访问工作全部路线,但使用url_for()
任何重定向似乎导致该端口由URL被错过的 - 即redirect(url_for('index'))
重定向到http://the_url/
,而不是http://the_url:5001/
(其中@app.route("/")
触发功能index()
)。
如何确保Flask在重定向时添加正确的端口?如果我将默认端口更改为5001,那么nginx配置将无法正常工作,因为它预计应用程序在端口5000上运行?
的[?我在哪里定义域在瓶URL \ _for()使用(可能的复制HTTP ://stackoverflow.com/questions/12162634/where-do-i-define-the-domain-to-be-used-by-url-for-in-flask) – ahmed
阅读评论的答案在http:// stackoverflow的.com /问题/ 12162634 /其中-DO-I-限定-的域至待使用逐URL换在烧瓶中。你应该从配置中删除'http'部分。 – Jimilian
我曾见过以前的答案,但设置'app.config [“SERVER_NAME”]'变量会停止网站运行...除非我做错了这个? (我把它设置为:'the_url:5001') – user2672537