- Python Falcon教程
- Python Falcon - 主页
- Python Falcon - 简介
- Python Falcon - 环境设置
- Python Falcon - WSGI 与 ASGI
- Python Falcon - Hello World(WSGI)
- Python Falcon - 女服务员
- Python Falcon - ASGI
- 蟒蛇Falcon - Uvicorn
- Python Falcon - API 测试工具
- 请求与响应
- Python Falcon - 资源类
- Python Falcon - 应用程序类
- Python Falcon - 路由
- Falcon - 后缀响应者
- Python Falcon - 检查模块
- Python Falcon - Jinja2 模板
- Python Falcon - cookie
- Python Falcon - 状态代码
- Python Falcon - 错误处理
- Python Falcon - 钩子
- Python Falcon - 中间件
- Python Falcon - CORS
- Python Falcon - Websocket
- Python Falcon - Sqlalchemy 模型
- Python Falcon - 测试
- Python Falcon - 部署
- Python Falcon 有用资源
- Python Falcon - 快速指南
- Python Falcon - 有用的资源
- Python Falcon - 讨论
Python Falcon - ASGI
ASGI 代表异步服务器网关接口(根据其官方文档,它是 WSGI 的精神继承者),它为 Python Web 服务器、应用程序和框架添加了异步功能。
为了运行异步 Web 应用程序,我们需要一个 ASGI 应用程序服务器。流行的选择包括 -
- 独角兽
- 芫
- 超级玉米
在本教程中,我们将使用Uvicorn服务器作为异步示例。
你好世界-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。您将在浏览器窗口中看到响应。