欢迎访问宙启技术站
智能推送

starlette.responses.PlainTextResponse()在Python中生成纯文本输出的技巧

发布时间:2024-01-07 13:13:57

在Python中,可以使用starlette.responses.PlainTextResponse()函数生成一个纯文本输出。这个函数接收一个字符串作为参数,并返回一个PlainTextResponse对象,可以将其作为HTTP响应返回给客户端。

以下是一个使用starlette.responses.PlainTextResponse()生成纯文本输出的示例:

from starlette.applications import Starlette
from starlette.responses import PlainTextResponse
from starlette.routing import Route

async def hello_world(request):
    return PlainTextResponse('Hello, World!')

routes = [
    Route('/', hello_world),
]

app = Starlette(routes=routes)

if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app, host='0.0.0.0', port=8000)

在上面的示例中,创建了一个最简单的Starlette应用,其中定义了一个路由 /,当访问该路由时,将调用 hello_world 函数。hello_world 函数返回一个 PlainTextResponse 对象,其中包含了字符串 'Hello, World!' 作为响应的内容。

要运行这个示例,可以使用 uvicorn 来启动应用:

$ uvicorn main:app

然后,在浏览器中访问 http://localhost:8000/,你将看到输出的纯文本内容 'Hello, World!'。

除了设置响应内容外,PlainTextResponse 还可以设置其他响应头和状态码。例如,可以设置响应的Content-Type头:

async def hello_world(request):
    headers = {'Content-Type': 'text/plain'}
    return PlainTextResponse('Hello, World!', headers=headers)

此外,还可以设置响应的状态码:

async def hello_world(request):
    return PlainTextResponse('Hello, World!', status_code=200)

以上是使用starlette.responses.PlainTextResponse()生成纯文本输出的基本技巧,可以根据具体需求进行定制。