前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask请求和响应对象(二)

Flask请求和响应对象(二)

原创
作者头像
堕落飞鸟
发布2023-05-05 16:19:00
7121
发布2023-05-05 16:19:00
举报
文章被收录于专栏:飞鸟的专栏

响应对象

Flask中的响应对象用于返回给客户端的数据。响应对象可以是字符串、JSON、HTML页面、文件等。我们可以从Flask中导入'response'模块来创建响应对象。响应对象包含的常见方法和属性如下:

  • make_response(content):创建响应对象,其中'content'为响应内容。
  • set_cookie(key, value, **options):设置cookie。
  • delete_cookie(key, **options):删除cookie。
  • headers:响应头字典,包含所有HTTP头信息。
  • status_code:HTTP状态码。
  • content_type:响应类型。

下面是一个使用响应对象返回JSON数据的示例代码:

代码语言:javascript
复制
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/users')
def users():
    users = [
        {'id': 1, 'name': 'Alice', 'age': 20},
        {'id': 2, 'name': 'Bob', 'age': 30},
        {'id': 3, 'name': 'Charlie', 'age': 40}
    ]
    return jsonify(users)

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

在上面的示例中,我们使用'jsonify'函数将Python对象转换为JSON字符串,并使用响应对象返回JSON数据。

使用响应对象返回HTML页面的示例代码如下:

代码语言:javascript
复制
from flask import Flask, make_response

app = Flask(__name__)

@app.route('/')
def index():
    html = '''
        <html>
            <head>
                <title>Hello Flask</title>
            </head>
            <body>
                <h1>Hello Flask!</h1>
            </body>
        </html>
    '''
    response = make_response(html)
    response.headers['Content-Type'] = 'text/html'
    return response

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

在上面的示例中,我们使用'make_response'函数创建响应对象,并将HTML字符串作为响应内容。我们还使用响应对象的'headers'属性设置响应类型为'text/html'。

设置cookie的示例代码如下:

代码语言:javascript
复制
from flask import Flask, make_response

app = Flask(__name__)

@app.route('/')
def index():
    response = make_response('Hello Flask!')
    response.set_cookie('username', 'alice')
    return response

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

在上面的示例中,我们使用响应对象的'set_cookie'方法设置cookie。第一个参数是cookie的键,第二个参数是cookie的值。其他可选参数可以用于设置cookie的属性,例如过期时间、域名、路径等。

删除cookie的示例代码如下:

代码语言:javascript
复制
from flask import Flask, make_response

app = Flask(__name__)

@app.route('/')
def index():
    response = make_response('Hello Flask!')
    response.delete_cookie('username')
    return response

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

在上面的示例中,我们使用响应对象的'delete_cookie'方法删除名为'username'的cookie。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 响应对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档