Flask—三剑客

本文深入探讨了Flask框架中的三个核心响应机制:HttpResponse、Redirect及Render_template,并介绍了send_file与jsonify两个特殊返回值的使用方法。通过实例演示了如何在Flask应用中实现字符串响应、页面跳转、模板渲染、文件发送及JSON数据序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Flask三剑客

1. HttpResponse

@app.route("/index")
def index():
    return "Hello,Flask!"

备注:在Flask 中的HttpResponse 在我们看来其实就是直接返回字符串 

2. Redirect

# 导入flask中的redirect
from flask import Flask, redirect

# app中的route装饰器,用来指定视图函数的URL地址
@app.route("/red")
def red():
    # redirect跳转至"/index"
    return redirect("/index")

 3. Render_template

from flask import Flask, render_template

@app.route("/home")
def home():
    return render_template("home.html")

二、补充知识

        注意: 如果要使用 render_template 返回渲染的模板,请在项目的主目录中加入一个目录 templates;否则会报错:

        jinja2.exceptions.TemplateNotFound:home.html

 

三、特殊返回值

1. send_file

# send_file 打开并返回文件内容(图片、音频、视频)
from flask import Flask, send_file

@app.route("/sentflie")
def sent_file():
    return send_file("01.jpg")

2. jsonify

# flask提供了jsonify函数供用户处理返回的序列化json数据
from flask import Flask, jsonify
  
app = Flask(__name__)  
 
@app.route('/hello/<name>/<words>',methods=['GET'])  
def hello(name,words):  
    #也可以传入key=value形式的参数,如jsonify(name=name,words=words)  
    return jsonify({'name':name,'words':words})
    
if __name__ == '__main__':  
    app.run("0.0.0.0",9527,debug=True) 
1、Content-Type有区别
    (1)jsonify的Content-Type为application/json
    (2)json的Content-Type为text/html;charset=utf-8

2、解析
    jsonify的作用实际上就是将我们传入的json形式数据序列化成为json字符串,作为响应的body,
    并且设置响 应的Content-Type为application/json,构造出响应返回至客户端

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值