1
顯然,Flask的app.route
/app.add_url_rule
不適用於關閉。例如,創建一個基本的應用程序,瓶 - 如何解決app.route/app.add_view_rule無法用於關閉的限制?
for name in ('/hi', '/bye'):
app.add_url_rule(name, view_func=lambda: name)
和查詢它,
dev:~/pg/yelp-main> curl localhost:9113/hi
/bye
表明,它不封閉工作。解決此問題的最簡單方法是什麼?我可以強制Python實際創建兩個函數嗎?
嗯,顯然不是 - 您可以輕鬆創建腳手架來自己測試[http://pastebin.com/6Zt1iCGs]。當給出URI「/ hi」時,這仍然響應「/ bye」。我通過使用request.uri解決了這個問題,但它感覺有點難看。 – gatoatigrado
並不意味着無禮......意思是添加「謝謝,但是」:) – gatoatigrado
*笑* @ gatoatigrado - 沒有冒犯的意思,沒有采取!我更新了我的答案(閉包*不工作,但Flask覆蓋存儲在'url_mapper'中的函數,因爲這兩個函數具有相同的'__name__')。新版本的作品:-) –