我有一個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