flask返回 html_FLASK中如何响应请求?5招解决所有场景

本文探讨了Flask框架中的响应处理,包括直接返回文本、JSON数据、渲染HTML页面、执行重定向以及文件下载。重点介绍了使用Jinja2模板引擎进行页面渲染,并提供了基本的示例代码,为理解和实践Flask应用开发提供指导。
摘要由CSDN通过智能技术生成

前文中,已经简要的介绍了一下flask的参数传递和ORM,那么本节我们讲就flask服务的响应方式进行探讨,按照我们一般请求响应通常出现的场景,一般的响应无非就是返回字符串、json、页面、重定向以及文件下载,那么在flask中,这几种形式都对应如何进行实现呢?

f1c9b37639aecda5ac363c5509073077.png
  • 直接返回文本内容
@app.route('/')def home(): return 'first_flask'

是不是很简单!

  • 返回json
@app.route('/flask_json')def flask_json(): return jsonify(['a',2])
  • 返回页面
  • 在flask中,如果要返回页面的话,存在几种方式,一种就是直接返回符合html格式要求的html串,第二种就是通过模板技术结合请求的处理结果进行页面渲染,第一种方式在这里就不做介绍了,第二种操作如下:
@app.route('/index')def index(): return render_template('index.html')

或者

@app.route('/user/') def user(name): return render_template('user.html', name=name) #带有需要渲染的数据

目前,flask中使用的模板引擎是Jinja2,它 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全。

  • 重定向
@app.route('/reback')def reback(): return redirect('/index')
  • 进行文件输出
@app.route('/flask_file')def flask_file(): filepath=os.path.join(os.path.dirname(os.path.abspath(__file__)),'file') filename='1.png'#Content-Type: image/png file=os.path.join(filepath,filename) return send_file(file)

以上就是在flask框架下几种最最基本的响应方式的简单实现,应该每一种都比较重要,而且关于页面渲染方面还有一大通重要的知识点,这里只是抛砖引玉,做一些方向性的引导,起码要问度娘也得要知道问什么不是!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值