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

Bottle框架中bottle.response模块的使用方法介绍

发布时间:2023-12-26 04:42:04

Bottle是一个Python的Web框架,它提供了一个简单而直接的方式来构建Web应用程序。在Bottle框架中,bottle.response模块用于处理HTTP响应。

bottle.response模块中最常用的类是Response,它允许设置响应的状态码、头部、正文以及其他HTTP特性。

首先,我们需要导入bottle模块和bottle.response模块:

from bottle import Bottle, response

然后,我们可以使用response变量来设置响应的各种属性。下面是一些常用的方法介绍以及使用示例:

1. 设置状态码(status):

   response.status = 200  # 设置状态码为200(成功)
   response.status = "404 Not Found"  # 设置状态码为404(未找到)
   

2. 设置响应头(headers):

   response.headers["Content-Type"] = "application/json"  # 设置响应头的Content-Type为application/json
   response.headers["Cache-Control"] = "no-cache"  # 设置响应头的Cache-Control为no-cache
   

3. 设置cookie(set_cookie):

   response.set_cookie("session_id", "123456")  # 设置名为session_id的cookie,值为123456
   response.set_cookie("user_id", "987654", path="/", max_age=3600)  # 设置名为user_id的cookie,值为987654,路径为/,有效期为3600秒
   

4. 设置响应正文(body):

   response.body = "Hello, World!"  # 设置响应正文为字符串"Hello, World!"
   response.body = b"Hello, World!"  # 设置响应正文为字节串b"Hello, World!"
   response.body = {"message": "Hello, World!"}  # 设置响应正文为JSON数据{"message": "Hello, World!"}
   

5. 设置重定向(redirect):

   response.status = 302  # 设置状态码为302(重定向)
   response.headers["Location"] = "/"  # 设置重定向的路径为/
   

下面是一个完整的示例,演示了如何使用bottle.response模块来处理HTTP响应:

from bottle import Bottle, response

app = Bottle()

@app.route("/")
def index():
    response.status = 200
    response.headers["Content-Type"] = "text/html"
    response.body = "<h1>Hello, World!</h1>"

@app.route("/login")
def login():
    response.status = 302
    response.headers["Location"] = "/"
    response.set_cookie("user_id", "123456")

if __name__ == "__main__":
    app.run()

在上面的例子中,我们定义了两个路由处理函数。 个函数处理根路径"/",并设置了状态码为200(成功)、Content-Type为text/html,以及响应正文为一个简单的HTML页面。第二个函数处理"/login"路径,设置了状态码为302(重定向),并将重定向的路径设置为根路径"/",同时设置了一个名为user_id的cookie。

这是一个简单的使用bottle.response模块的例子。通过使用这个模块,我们可以很容易地设置HTTP响应的各种属性,以及处理重定向、设置cookie等功能。