starlette.responses.PlainTextResponse()在Python中用于生成纯文本输出的详细解释
发布时间:2024-01-07 13:12:10
starlette.responses.PlainTextResponse是Starlette框架中用于生成纯文本输出的响应类。它返回一个纯文本响应,可以包含任何只包含文本的内容。
starlette.responses.PlainTextResponse的详细解释如下:
### 构造函数:
def __init__(self, content: str, status_code: int = 200, headers: dict = None)
- content:必需参数,要包含在响应中的纯文本内容。
- status_code:可选参数,HTTP状态码,默认为200。
- headers:可选参数,要包含在响应中的HTTP头部。
### 使用例子:
from starlette.applications import Starlette
from starlette.responses import PlainTextResponse
app = Starlette()
@app.route('/')
async def homepage(request):
return PlainTextResponse('Hello, World!')
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='0.0.0.0', port=8000)
在上面的例子中,我们创建了一个名为homepage的路由,它返回一个PlainTextResponse响应,其内容为Hello, World!。当我们打开应用的根URL时,将显示此纯文本响应。
我们还可以指定状态码和HTTP头部:
return PlainTextResponse('Error: Page Not Found', status_code=404, headers={'X-My-Header': 'hello'})
在这个例子中,响应返回一个状态码为404的纯文本内容,并且还添加了一个自定义的HTTP头部。
如果应用有多个路由,每个路由可以返回不同的PlainTextResponse对象。
