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()生成纯文本输出的基本技巧,可以根据具体需求进行定制。
