11_Flask关于响应

一、视频教程

11_Flask关于响应

通过本节课程的学习,你将学会使用视图函数返回多种类型的响应,包括字符串、HTML、JSON、或自定义响应对象。《Flask快速入门教程》,人人都能学,小白看得懂学得会,跟我学编程,免费领取配套学习资料。

二、初始代码

Ctrl + C 拷贝 02-start-params,粘贴到 flask-study 目录,然后命名为 08-response-data

0

三、响应数据

视图函数可以返回多种类型的响应,包括字符串、HTML、JSON、或自定义响应对象。

3.1 字符串

app.py 文件

# 响应字符串@app.route('/string')def response_string():    # 响应:返回给浏览器的数据    return 'Response String!'

3.2 HTML

app.py 文件

# 响应HTML@app.route('/html/<name>')def response_html(name):    # 响应:返回给浏览器的数据    return render_template('test.html', name=name)

test.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h3>name:{{ name }}</h3></body></html>

3.3 JSON

jsonify(data):将 Python 字典转换为 JSON 响应。

# 响应JSON@app.route('/jsonify')def response_jsonify():    # 字典数据    data = {        'name': 'flyoss',        'age': '30'    }    return jsonify(data)

3.4 自定义响应对象

使用 make_response() 函数来自定义响应对象

# 使用make_response() 函数自定义响应对象@app.route('/json')def response_json():    data = {        'name':'flyoss',        'age':'30'    }    response = make_response(json.dumps(data))    response.mimetype = 'application/json'    return response

四、HTTP状态码

状态码的定义规则

1XX

请求过程中,完成了一部分

2XX

成功

3XX

重定向

4XX

客户端错误

5XX

服务端错误

常见的http状态码

100

继续,客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

101

转换协议,在发送完这个响应最后的空行后,服务器将会切换到在Upgrade消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。

102

继续处理,由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。

200

请求成功,处理方式:获得响应的内容,进行处理

201

请求完成,结果是创建了新资源。新创建资源的URI可在响应的实体中得到处理方式:爬虫中不会遇到

202

但处理尚未完成,处理方式:阻塞等待

204

服务器端已经实现了请求,但没返回新的信息。如果客户是用户代理,则无须为此更新自身的文档视图。处理方式:丢弃

300

该状态码不被HTTP/1.0的应用程序直接使用,只是作为3XX类型回应的默认解析。存在多个可用的被请求资源。处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃。

301

请求的资源都会分配一个永久的URL,这样就可以在将来通过该RUL来访问此资源。处理方式:重定向到分配的URL

302

请求到的资源在一个不同的URL处临时保存处理方式:重定向到临时的URL

304

请求的资源未更新,处理方式:丢弃,使用本地缓存文件

400

非法请求,处理方式:丢弃

401

未授权,处理方式:丢弃

403

禁止,处理方式:丢弃

500

服务器内部错误,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现

501

服务器无法识别,服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。

502

错误网关,作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503

服务出错,由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况时临时的,并且将在一段时间以后恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾飞开源

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值