Python Falcon ASGI
ASGI代表 异步服务器网关接口 (根据其官方文档,它是WSGI的精神继承者),它为Python web服务器、应用程序和框架增加了异步功能。
为了运行一个异步的web应用,我们需要一个ASGI应用服务器。流行的选择包括–
- Uvicorn
- Daphne
- Hypercorn
在本教程中,我们将使用 Uvicorn 服务器进行 异步 示例。
Hello World – ASGI
Falcon的ASGI相关功能在falcon.asgi模块中可用。因此,我们需要在一开始就导入它。
import falcon
import falcon.asgi
虽然资源类与前面的例子相同,但on_get()方法必须用async关键字声明。我们必须获得Falson的ASGI应用程序的实例。
app = falcon.asgi.App()
例子
因此,ASGI的hellofalcon.py将如下所示
import falcon
import falcon.asgi
class HelloResource:
async def on_get(self, req, resp):
"""Handles GET requests"""
resp.status = falcon.HTTP_200
resp.content_type = falcon.MEDIA_TEXT
resp.text = (
'Hello World'
)
app = falcon.asgi.App()
hello = HelloResource()
app.add_route('/hello', hello)
要运行应用程序,从命令行启动Uvicorn服务器,如下所示
uvicorn hellofalcon:app –reload
输出
打开浏览器并访问 http://localhost:/8000/hello 。你将在浏览器窗口中看到响应。