Python的Web框架介绍( 三 )


您可以很容易地重写返回内容的方式 。例如,如果希望从某些端点返回HTML/XML,只需返回一个自定义响应对象即可 。如果您想要添加自定义中间件,您可以弹出任何遵循ASGI标准的内容 。
FastAPI使用Python的类型提示来提供路由所接受的数据类型的约束 。例如,如果您有一个类型为Optional[int]的路由,FastAPI将拒绝除整数以外的所有提交 。你不需要添加数据校验代码到你的端点,可以只使用类型提示,然后让FastAPI来完成这项工作 。
当然,有些东西被省略了 。例如,没有原生HTML模板引擎,但并不缺少填补这一空白的第三方解决方案 。数据库连接也是如此,但是文档中包含了关于如何协同某些ORMs(例如Peewee)使用FastAPI的异步行为而工作的细节 。
示例代码如下:
from typing import Optional from fastapi import FastAPI App = FastAPI()@app.get("/")def read_root():return {"Hello": "World"}@app.get("/items/{item_id}")def read_item(item_id: int, q: Optional[str] = None):return {"item_id": item_id, "q": q}5. Flask框架许多关于Python web框架的讨论都从Flask(http://flask.pocoo.org/)开始,这是有原因的 。Flask构建良好,易于理解的框架,很容易使用并且很稳定 。在轻量级web项目或基本REST API中使用Flask几乎是不可能出错的,但是如果您试图构建任何更大的东西,你将会面临很大的负担 。

Python的Web框架介绍

文章插图
 
Flask的主要吸引力在于它的低门槛 。一个基本的“hello world”应用程序可以用不到


推荐阅读