Python Falcon - ASGI 应用程序
ASGI 代表 Asynchronous Server Gateway Interface(根据其官方文档,它是 WSGI 精神的继承者),它将异步功能添加到 Python Web 服务器、应用程序和框架。
要运行异步 Web 应用程序,我们需要一个 ASGI 应用程序服务器。 热门选择包括 −
- Uvicorn
- Daphne
- Hypercorn
在本教程中,我们将使用 Uvicorn 服务器作为 async 异步示例。
Hello World - ASGI
Falcon 的 ASGI 相关功能在 falcon.asgi 模块中可用。 因此,我们需要在开始时导入它。
import falcon import falcon.asgi
虽然资源类与前面的示例相同,但必须使用 async 关键字声明 on_get() 方法。 我们必须获得 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。 您将在浏览器窗口中看到响应。