Flask处理响应

news/2024/7/8 7:18:53

处理响应

需求

如何在不同的场景里返回不同的响应信息?

1 返回模板

使用render_template方法渲染模板并返回

例如,新建一个模板index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
我的模板html内容
<br/>{{ my_str }}
<br/>{{ my_int }}
</body>
</html>

后端视图

from flask import render_template@app.route('/')
def index():mstr = 'Hello 黑马程序员'mint = 10return render_template('index.html', my_str=mstr, my_int=mint)

示例代码:

from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')
def index():mstr = 'Hello world'mint = 10return render_template('index.html', my_str=mstr, my_int=mint)if __name__ == '__main__':app.run()

运行效果:

 

示例代码2:【对上面代码稍做改变】

from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')
def index():# mstr = 'Hello world'# mint = 10data = dict(my_str='Hello world',my_int=10)# return render_template('index.html', my_str=mstr, my_int=mint)return render_template('index.html', **data)if __name__ == '__main__':app.run()

2 重定向

from flask import Flask, redirectapp = Flask(__name__)@app.route('/demo2')
def demo2():return redirect('http://www.baidu.com')if __name__ == '__main__':app.run()

3 返回JSON

from flask import Flask, jsonifyapp = Flask(__name__)@app.route('/demo3')
def demo3():json_dict = {"user_id": 10,"user_name": "laowang"}return jsonify(json_dict)if __name__ == '__main__':app.run()

 运行结果:

4 自定义状态码和响应头

1) 元祖方式

可以返回一个元组,这样的元组必须是 (response, status, headers) 的形式,且至少包含一个元素。 status 值会覆盖状态代码, headers 可以是一个列表或字典,作为额外的消息标头值。

from flask import Flaskapp = Flask(__name__)@app.route('/demo4')
def demo4():# return '状态码为 666', 666# return '状态码为 666', 666, [('Itcast', 'Python')]return '状态码为 666', 666, {'Itcast': 'Python'}if __name__ == '__main__':app.run()

2) make_response方式

from flask import Flask, make_responseapp = Flask(__name__)@app.route('/demo5')
def demo5():resp = make_response('make response测试')resp.headers['Itcast'] = 'Python'resp.status = '406 not found'return respif __name__ == '__main__':app.run()

 


http://lihuaxi.xjx100.cn/news/262651.html

相关文章

ubuntu fctix

感觉ubuntu自在大ibus输入法用起来实在是灰常蛋痛啊&#xff0c;于是乎就换了fcitx输入法&#xff08;很多人推荐嘛&#xff09;在安装之前先说一下fcitx输入法吧。1.添加fcitx源(官方的源是旧版,不推荐使用)fcitx的ppa源&#xff0c;内含fcitx和fcitx-config,使用命令sudo ged…

《数据竞赛白皮书·下篇》发布,开源办好一场数据竞赛的实践方法论

两周前&#xff0c;我们发布了《数据竞赛白皮书上篇1000场竞赛的深度分析》&#xff0c;通过28000字的研究分析、54个高品质图表&#xff0c;讲透了数据竞赛行业发展&#xff0c;带领大家看懂了竞赛高热度背后的逻辑。上篇发布后&#xff0c;引发了广泛的讨论&#xff0c;涌进公…

1行代码消除PyTorch的CUDA内存溢出报错,这个GitHub项目刚发布就揽星600+

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达丰色 发自 凹非寺量子位 报道 | 公众号 QbitAICUDA error: out of memory.多少人用PyTorch“炼丹”时都会被这个bug困扰。一般情况下&#xff0c;你得找出当下占显存的没用的…

分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关

作者 | 凌霄出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;新冠疫情使得远程办公的人数大幅度增加&#xff0c;然而&#xff0c;当越来越多的人远程工作时&#xff0c;人们的情绪和心理健康状态也难以通过日常面对面的交流来观察&#xff0c;雇主们也就无法获得员工…

Flask框架中Cookie与Session用法详解

1、Cookie 1.1 设置cookie from flask import Flask, make_responseapp Flask(__name__)app.route(/cookie) def set_cookie():resp make_response(set cookie ok)resp.set_cookie(username, itcast)return resp1.2 设置cookie有效期 from flask import Flask, make_respo…

起飞,会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了

前言上一篇文章 IntelliJ IDEA 高级调试之Stream Trace 算是 IntelliJ IDEA 高级调试技巧的开胃菜&#xff0c;很多小伙伴被这个小技巧征服。趁热打铁&#xff0c;今天给大家带来几个我日常工作以及阅读源码必备的 IntelliJ IDEA 高级调试技巧&#xff0c;分分钟要起飞的节奏断…

SpringCloud的服务网关zuul

演示如何使用api网关屏蔽各服务来源 一、概念和定义 1、zuul最终还是使用Ribbon的&#xff0c;顺便测试一下Hystrix断路保护2、zuul也是一个EurekaClient&#xff0c;访问服务注册中心&#xff0c;获取元数据&#xff0c;使用本地的Ribbon负载均衡&#xff0c;Hystrix断路保护&…

Java的JVM,GC是什么?

JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写。GC是垃圾收集的意思(Gabage Collection) JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 write once&#xff…