mad*_*low 3 python flask python-requests
考虑以下最小的工作烧瓶应用程序:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "I am /"
@app.route("/api")
def api():
return "I am /api"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
这很开心.但是当我尝试从hello路由到api路由的"请求"模块发出GET请求时- 我在尝试访问时从未在浏览器中收到响应http://127.0.0.1:5000/
from flask import Flask
import requests
app = Flask(__name__)
@app.route("/")
def hello():
r = requests.get("http://127.0.0.1:5000/api")
return "I am /" # This never happens :(
@app.route("/api")
def api():
return "I am /api"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:为什么会发生这种情况,我该如何解决这个问题呢?
Mar*_*ers 10
您正在使用Flask测试服务器运行WSGI应用程序,该服务器默认使用单个线程来处理请求.因此,当您的一个请求线程尝试回调到同一服务器时,它仍然忙于尝试处理该一个请求.
您需要启用线程:
if __name__ == "__main__":
app.run(threaded=True)
Run Code Online (Sandbox Code Playgroud)
或使用更高级的WSGI服务器; 请参阅部署选项.
| 归档时间: |
|
| 查看次数: |
3140 次 |
| 最近记录: |